|
If we stop allowing change, we lose the feet of those who would stand on the shoulders of the giants that came before us.
If you go with one language, you will lose all the innovation that got us as far as we have come. If there is one language, than it is controlled by someone,and thier idea of the right way to do things might not agree with yours.
When I worked in FORTRAN IV, there was one kind of 'for' loop. Is that where we should have stopped?
They have to stop language innovation from occuring, since it would break old versions of the language. We woulnd not have gotten to object oriented, or aspect oriented, or the use of GUI builders, since that really requires the use of call backs/events, which you can't dowithout pointers (or wrappers to pointers).
Silver member by constant and unflinching longevity.
|
|
|
|
|
... will work about as well as Esperanto did...
Everyone who is speaking that will start to program in 1 language....
The idea will die a horrible death.
Also: many programmers will stop programming if they are coerced into learning a new language, and retire from that field... Think of all the thriving open-source communities that would wither?
Just my 2 cents.
|
|
|
|
|
But i still prefer some languages over others. Makes life a little easier sometimes.
SS => Qualified in Submarines
"We sleep soundly in our beds because rough men stand ready in the night to visit violence on those who would do us harm". Winston Churchill
|
|
|
|
|
We FORTRAN Geeks are a dying breed, but then again you have to look at what the Big labs use
and doing accurate math in any other language sux.
|
|
|
|
|
I've got another idea. Since most languages are very similar anyway, Python/Ruby or C#/VB.NET and the differences just boil down to style and formatting, why don't we just have an IDE that can parse/display a language in multiple formats, and still compile/IL/bytecode/whatever the source to/from the same stuff.
Not to use the phrase "It shouldn't be that hard", but they have translators out there for similar languages, so it seems like the same code could applied transparently in the IDE. That way we can all do our own thing, and just have 2 or 3 major languages under the hood.
Somebody get right on that ok?
|
|
|
|
|
|
|
This misses the point... the differences in language are ideological not functional. The poll is really about whether you are tolerant of ideological differences in programming or not. After all most languages that we would consider programming languages are Turing Complete[^] and so have a functional equivalence (see also Greenspun's Tenth Rule[^] for a cynical extension of this).
P.S I voted for there can be only one...
|
|
|
|
|
CurtainDog wrote: This misses the point... the differences in language are ideological not functional.
Ohh yes definitely, however syntactical sugar just steepens the learning curve for the beginner, and if they all do basically the same thing, why waste the time and resources on developing alternative languages(dialects) for the same thing. the structure of a loop will for 99.9% of all possibilities be of the nature:
(precondition)
if(Condition)
do(work)
loop
why devise alternate syntactical variants, the time spent teaching all the variants could be more wisely used teaching good recursive theory, or data structure management etc...
|
|
|
|
|
I agree - languages can be looked at as skins in much the same way as themes/styles may be applied.
Gilad Bracha talks about this in some of the material on Newspeak[^] - currently this uses a Smalltalk-like syntax but he mentions changing to use braces as standard, and somewhere talks about the idea of making the language skinnable.
I seem to remember similar thoughts from Martin Fowler somewhere in his Domain Specific Language work.
There are other examples. Particular, a trend in programming language design to support Inner DSL's (Fowler's terminology), where a DSL may be embedded in an existing language. Newspeak, LISP, Smalltalk, and OMeta all having some aspects in this direction.
|
|
|
|
|
Yeah, I first thought of this when dealing with a source control issue a while back. A colleague of mine and I were frustrated with the way source control packages merge the code. Ours lets you use any third party merge tool you want, and we lean towards Winmerge or P4Merge by Perforce. Both are free and both have their strengths, but issues still come up; namely that Visual Studio/Resharper will often reformat you code for you when add a closing brace to a block in C#. The way it moves the code around and sometimes spans it over several lines, there's no way a text editor can tell that the two blocks of text are 'functionally equivalent' in C#.
So we thought it would be cool if there were a merge tool that had knowledge of C#, and wouldn't display a reformatting as a difference, allowing the developer to concentrate on the real changes. From there we made the leap to say 'why can't the IDE just display a block of code one way for one developer, and another way for another developer, depending on user options?' Because they would compile to the same IL anyway. And maybe this idea could extend from styles out to languages.
Of course the parser and IDE will have to get really smart for this to work.
|
|
|
|
|
While it looks rather silly on the surface to have so many different languages (and it certainly makes our jobs as developers more difficult), there was a reason for creating each and every one of them. It's the same reason that there are aisles of similar-looking tools at any hardware store: you use a different tool for a different need, and if the tool you need doesn't exist, you create it.
Sure, you could keep adding stuff to the frameworks of the general-purpose languages to cover every possible eventuality, but that adds complexity and slows down the language. There are also situations that the general-purpose languages are simply not suitable for (i.e., functional languages).
|
|
|
|
|
...And the reason so often is a bad one. #1 reason for inventing a language: ego. Yes, I mean you, Larry.
The single language idea is theoretically attainable through the all-enveloping runtime. A language is, or should be, a minimal set of statements; a few conditionals, assignment, sub/function and of course expressions. The vast and seemingly random collection of built-ins found in some languages are so much more manageable sorted into a structure of runtime APIs. But geek egos being what they are we'll continue to see a stream of fad "languages" each with its enthusiastic herd of fanbois.
Emerald On Runways, anyone?
|
|
|
|
|
|
Collin Jasnoch wrote: But sometimes using a nail gun to hang a picture frame will do more damage than good.
Good point.
John
|
|
|
|
|
A skilled craftsman can make a house with only a few tools, and yes it is usually built better then someone using power tools.(I've built a few things in my time )
However if your building a trailer house which needn't pass the test of time (the homeless people need a trailer NOW!) then you build it with power tools.
In this time of disposable... everything, there is becoming less need for hand drills (even though they make a smoother hole) and more need for drill presses (just put the hole here).
Operating systems - built by stable language.
Most short life cycle Software - MegaLanguage.
High End Long Life Software - built by some stable language.
Cell Phone apps. - MegaLanguage.
I would hate to be the one to rewrite all the molecular modeling software, however it could greatly benefit by an update into a functional language. But there are only a handful of people in the WORLD who do this type of programming, and they do it with hand tools, love, and a lot of coffee. So to them it is Art.
|
|
|
|
|
Ideally, we should have fewer languages. Seriously, what is a difference between VB and C#? However, I can't imagine a single language that would be good for all programming scenarios: for instance a system language needs to be close to hardware (think C), but a web scripting language needs to be as far from hardware as possible (JavaScript).
|
|
|
|
|
Lets say there is a such language, will you use other ones?
|
|
|
|
|
If there was a perfect food, would you eat anything else?
|
|
|
|
|
Grape Ice Cream is perfect for the first day. But after you eat it a few times you long for plain vanilla ice cream.
|
|
|
|
|
Ah, so you made it then!
Yeah, it's definitely best fresh, and in small doses.
|
|
|
|
|
continue your thoughts: f**k off standards! lets everyone will make things different. It's so cool if there were 100 browsers and it's so interesting to write html for everyone of them!
|
|
|
|
|
Not sure how that follows from what i wrote...
|
|
|
|
|
Kamarey wrote: Lets say there is a such language
One that is close to the hardware and far from it at the same time?
|
|
|
|
|
I would, but frankly speaking I don't think we'll be able to use it. Since its mere existence would prove that all principles of logic known to humans are unsustainable, which would cause World War X and total destruction of planet Earth. Heck, forget about us and Earth, whole universe would collapse killing all living forms (including Bob) in the process!
|
|
|
|