Ver Mensaje Individual
  #5  
Antiguo 18-09-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Aunque su significado es el fregadero de la cocina. Y también:
kitchen sink drama
tipo de drama que refleja la vida cotidiana de la clase obrera de manera realista.



Cita:
If One Is Better, Ten Must Be The Best!





While that rant may seem overly long, it sets the stage for this language I'm putting together as kind of another INTERCAL. My impression of INTERCAL was that the designers intended to make fun of the ranting fools pushing Structured Programming (again, without any proof that it was superior). They took all the purported features and turned them on their head, creating a language that was nearly impossible to understand and work with.

With KitchenSink, I'm going to attempt to combine all of the features that language purists claim will make programming better. I figure, if one paradigm is better, then why not include them all! This language will be the best language in the world if you go by how language nuts (i.e. people who think the language and platform are married) rate the latest programming languages. I am going to try to make the language as simple as possible, but in the end, I believe it will be hopelessly useless, and only a novelty. Then again, I may hit onto something and actually make the best language in the world! (yeah, alright)

Here's the short list of the super cool paradigms I'm gonna have in KitchenSink:

Object-Oriented Programming Can't have a language without being a slave to the objects. Even better, my object design will be based on exemplars rather than class structured (another popular academia thingy). That's where you don't define your ontology, but rather just say, "this thing is like that thing with these differences". Functional Programming Functions will be first class objects, will have closures, and you'll be encouraged to make them like crazy even if they don't help the design one bit. Concatenative Programming This latest and greatest language feature--as promoted in Forth, Onyx, Joy, and PostScript--creates some wonderfully cryptic programs--and you know how conciseness is next to godliness with math junkies. Who cares if nobody can read it without a diagram of a massive complicated stack flow! It's concise dammit! Templates and Aspect-Oriented Programming Damn, some zealots have proclaimed that "Any language with a pre-processor is broken." Rather than admit that meta-programming is really useful for creating generic components, we'll just recast the pre-processor as "an Aspect-Oriented Compiler", and start calling macros "templates". Structured Programming How could you possibly have any language that wasn't also structured!? Heaven forbid you should create a nice interaction based language like Smalltalk. Nope, it has to be a lock step algorithm or it's not "provable". Logical Proofs and Design By Contract It doesn't matter that Design by Contract has been "proven" (through logic though) to be equivalent to Clean Room logical proofs. It doesn't matter that a logic proof doesn't prevent bugs during runtime. All that matters is that I make software development so difficult that only a trained math genius could ever write a piece of software. That will keep all those pesky H1-B visa carriers out of the business. Full Set Manipulation Operators Hey, everything in a computer is just a set of some kind. Who needs easy to use indexing that follows what everyone was taught in highschool algebra? Let's do what R, Haskell, and now Python have done by making cryptic indexing possible. Tail Recursion Hey, we've got functional programming, but damn making those stacks is really slow. What's that? Why not just introduce that highly usefull concept of "iteration"? Tisk-tisk. That's not very purist of you. Are you sure you're a member of the inner circle? I could have sworn that iteration was a forbidden word in the functional religion. We call that "tail recursion" here. Maybe you should go to the end of the line. Lots and Lots of Idiotic Silly Operators (LLISO) Programming's all about problem solving, and nothing is more fun than reading tons of symbols that, when combined, must be carefully taken apart to understand what's really going on. That really makes the language a wonderful puzzle that needs to be solved (because, as an academic, I don't really need to be solving puzzles with the language, I want to solve them in the language). Even better is when these symbols are the inverse of what everyone else is familiar with using. The main advantage of this is that I can force the user to adopt symbols and structuring constraints which makes my compiler design so much easier. Who needs expressiveness when you have a massive Perceived I.Q. booster like Lisp Parentheses and wonderful stuff like CADR, CDDR, CADDR, and CDDRDDADR!? Hey, that reminds me, most programmers can't type, so let's save keystrokes at every turn and use acronyms and abrvt. kywrds......
Este es el enlace de donde lo he sacado.

http://www.zedshaw.com/writings/kitchensink/

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita