4 ms·
These issues apply to my favorite language and also to the rest. Surely I'm cheating, but I don't believe it's against the spirit of the question. I hate the f
by narag 16y ago
These issues apply to my favorite language and also to the rest. Surely I'm cheating, but I don't believe it's against the spirit of the question.
I hate the fact that we have to program using plain text. A program is not really a sequential structure. I'm old, I do know the reasons that this anachronism has perpetuated. It's been a pain in the ass to deal with proprietary formats using not quite right tools. But in 2010? Seriously? How hard is to define a simple format that can be understood by simple editors?
Just an example: comments need to fit the syntax. So there's a need to delimite them, so some characters or characters combination are not allowed, or you need to use escape sequences, alternating delimiters or something. Think of code blocks that are commented out. I absolutely hate the time that I need to spend "formating" comments. It'd be trivial to create an editor that used certain special character (one that's < ASCII 32) to delimite comments, so we would not have to deal with this.
In general, the editor should be syntax-aware, in a more thorough sense (the editor would perform a first step of compilation), not in the patchy "syntax highlighting" way in which a quick and dirty scan of text is used. That would also speed compilation and "intellisense".
It would also eliminate syntax and the artificial differences among languages. Instead of curly braces vs, indentation vs. begin-end pairs vs. whatever, the program structure would be recognized by the editor and presented graphically.
The editor should only accept legal constructions (the rest would be considered comments or incomplete senteces) instead of the distracting red understrike of Eclipse.
In general, what I most hate is the fact that most languages use the very same constructs, while still are written differently and you need to learn the quirks of each of them. A while loop is the same in most languages. What's the point of learning stupid syntax for a dozen languages. I feel I'm working for the compiler. It should be the other way around.
I hate languages that do now allow me to do something, just because the language "designer" decided so. I feel the languages should be construction kits, not a set of rules to constrain what I can do with them. Why can't I have garbage collections in some languages and at the same time I can't have manual memory management in others? Why can't I have a language that accepts new constructs like Lisp, but not having to be Lisp with all its constraints?
So to summarize, I hate syntax. I hate a = b vs. a := b vs. b -> a vs. let a = b vs. ... Languages have become walled gardens, bigotry and us vs. them. Of course some tasks are different. But I think there's no real reason not to have all the features in the same language and define "sections" of code that use certains "modes", except the competition.
- jpr 16y agoI have a feeling you might enjoy Common Lisp + Emacs + Slime.
- viraptor 16y agoI agree with many things... especially the editor complaint. I wanted to create a syntax-aware editor one day and it's considerably harder than creating a standard one. It's also almost useless in case of dynamic languages, since you cannot verify that much at the editing stage. But this seems just wrong: > I hate languages that do now allow me to do something, just because the language "designer" decided so. In many cases it's not about "designer decided so", but rather about tradeoffs. We cannot do X, because that would make Y considerably more difficult / fragile / slower. It also helps create some coding standards and common constructs. For example it's easier to read someone else's python code where the syntax is pretty much minimal and uses the same concepts over and over again (decorators are just functions in functions, decorators with parameters just call another wrapping function to get the decorator, etc.), rather than reading some haskell code, where someone decided to build own DSL which implements everything. Limits can be good.
- narag 16y agoBut limits don't need to be in the language itself. It should be possible to define subsets. Maybe it seems the same thing to be limited by the language or by a requirement imposed by the boss or the customer. But it's not quite the same. I've worked for companies with very strict code conventions and revisions, and I was happy with them. It's not the individual freedom what I'm requesting. It's more like having the possibilty of exceptionally resorting to powerful features when it's seen as the best option with the consensus of the team. IOW: the limits can be good, but I don't think a single person should decide for all the users.