What Makes Some Programming Languages the 'Most Dreaded'? (oreilly.com) 137
O'Reilly media's Vice President of Content Strategy (also the coauthor of Unix Power Tools) recently explored why several popular programming languages wound up on the "most dreaded" list in StackOverflow's annual developer survey:
There's no surprise that VBA is #1 disliked language. I'll admit to complete ignorance on Objective C (#2), which I've never had any reason to play with. Although I'm a Perl-hater from way back, I'm surprised that Perl is so widely disliked (#3), but some wounds never heal. It will be interesting to see what happens after Perl 7 has been out for a few years. Assembly (#4) is an acquired taste (and isn't a single language)...
But he eventually suggests that both C and Java might be on the list simply because they have millions of users, citing a quote from C++ creator Bjarne Stroustrup: "there are only two kinds of languages: the ones people complain about and the ones nobody uses." Dislike of a language may be "guilt by association": dislike of a large, antiquated codebase with minimal documentation, and an architectural style in which every bug fixed breaks something else. Therefore, it's not surprising to see languages that used to be widely used but have fallen from popularity on the list... Java has been the language people love to hate since its birth. I was at the USENIX session in which James Gosling first spoke about Java (way before 1.0), and people left the room talking about how horrible Java was — none of whom had actually used the language because it hadn't been released yet...
If there's one language on this list that's associated with gigantic projects, it's Java. And there are a lot of things to dislike about it — though a lot of them have to do with bad habits that grew up around Java, rather than the language itself. If you find yourself abusing design patterns, step back and look at what you're doing; making everything into a design pattern is a sign that you didn't understand what patterns are really for... If you start writing a FactoryFactoryFactory, stop and take a nice long walk. If you're writing a ClassWithAReallyLongNameBecauseThatsHowWeDoIt, you don't need to. Java doesn't make you do that... I've found Java easier to read and understand than most other languages, in part because it's so explicit — and most good programmers realize that they spend more time reading others' code than writing their own.
He also notes that Python only rose to #23 on the "most dreaded" languages list, speculating developers may appreciation its lack of curly braces, good libraries, and Jupyter notebooks. "Python wins the award for the most popular language to inspire minimal dislike. It's got a balanced set of features that make it ideal for small projects, and good for large ones."
"And what shall we say about JavaScript, sixteenth on the list? I've got nothing. It's a language that grew in a random and disordered way, and that programmers eventually learned could be powerful and productive... A language that's as widely used as JavaScript, and that's only 16th on the list of most dreaded languages, is certainly doing something right. But I don't have to like it."
But he eventually suggests that both C and Java might be on the list simply because they have millions of users, citing a quote from C++ creator Bjarne Stroustrup: "there are only two kinds of languages: the ones people complain about and the ones nobody uses." Dislike of a language may be "guilt by association": dislike of a large, antiquated codebase with minimal documentation, and an architectural style in which every bug fixed breaks something else. Therefore, it's not surprising to see languages that used to be widely used but have fallen from popularity on the list... Java has been the language people love to hate since its birth. I was at the USENIX session in which James Gosling first spoke about Java (way before 1.0), and people left the room talking about how horrible Java was — none of whom had actually used the language because it hadn't been released yet...
If there's one language on this list that's associated with gigantic projects, it's Java. And there are a lot of things to dislike about it — though a lot of them have to do with bad habits that grew up around Java, rather than the language itself. If you find yourself abusing design patterns, step back and look at what you're doing; making everything into a design pattern is a sign that you didn't understand what patterns are really for... If you start writing a FactoryFactoryFactory, stop and take a nice long walk. If you're writing a ClassWithAReallyLongNameBecauseThatsHowWeDoIt, you don't need to. Java doesn't make you do that... I've found Java easier to read and understand than most other languages, in part because it's so explicit — and most good programmers realize that they spend more time reading others' code than writing their own.
He also notes that Python only rose to #23 on the "most dreaded" languages list, speculating developers may appreciation its lack of curly braces, good libraries, and Jupyter notebooks. "Python wins the award for the most popular language to inspire minimal dislike. It's got a balanced set of features that make it ideal for small projects, and good for large ones."
"And what shall we say about JavaScript, sixteenth on the list? I've got nothing. It's a language that grew in a random and disordered way, and that programmers eventually learned could be powerful and productive... A language that's as widely used as JavaScript, and that's only 16th on the list of most dreaded languages, is certainly doing something right. But I don't have to like it."
JavaScript does something right.. (Score:5, Insightful)
> A language that's as widely used as JavaScript, and that's only 16th on the list of most dreaded languages, is certainly doing something right.
Or has a industry-given monopoly.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Actually, a language with a monopoly I would expect to rank higher on a list of most dreaded languages because it's unavoidable, hence more opportunities to dread having to use it. As opposed to something like Python, where if I really didn't want to use it for something, I might be able to substitute something else in there.
Re: (Score:2)
But this isn't a list of dreaded languages, it's a list of
% of developers who are developing with the language or technology but have not expressed interest in continuing to do so
If you are a front end developer and you want to remain a front end developer, you are going to want to continue to use Javascript whether you like it as a language or not.
Re: JavaScript does something right.. (Score:2)
Most languages go from concise to bloated, and the more bloat, the more hate. It's not hard to figure out.
Re: (Score:2)
Or has a industry-given monopoly.
Being a monopoly doesn't support it's case, it actively works against it. Using something just because it's a monopoly invokes a sense of dread and doesn't make using it any better.
Unless it is that "Big JS" rigged the study by forcing developer slaves to show the language in favourable light under the threat of breaking their fingers with a keyboard.
Re: (Score:3)
- but isn't it just as true that the reason the industry is all using it, Is because of massive developer use and demand?
Q: Which came first, the chicken or the egg? A: Dinosaurs had eggs long before chickens ever existed.
This is simply because it's the only language which you can run in a browser. The user demand is for something that can work on the client side in web pages. The industry has decided that only JavaScript or Java could work client-side and the whole Java environment was so awful that even old JavaScript could win easily against it. The only thing which came close was ActiveX and that failed because Micro
Re: (Score:3)
Which is not to say that modern JavaScript environments can't be lots better than some other things you might be forced to use.
Javascript environments are not better than the alternatives, for any situation where there are alternatives. Prove me wrong.
Re: (Score:2)
Adobe Flash. Java.
Re: (Score:2)
Re: (Score:2)
How are you getting Java to run in the browser?
Historically, you had Java applets [wikipedia.org], but that has - fortunately - been dead for a while.
However, both of these are dead now - so right now, I can't recall any active competition for Javascript.
Re: (Score:2)
How are you getting Java to run in the browser?
You just basically admitted you know nothing about the subject you're debating.
Re: (Score:2)
Anything with pointers.
ugh....
It's been through a mountain of revisions (Score:2)
Re: (Score:2)
Maybe there were some alternatives when IE's browser share was at 90%, but companies still wanted to reach the other 10% so Javascript was really the only possibility (besides perhaps server-side languages, but those round-trips are costly). It also has to be remembered that IE's share was that large only for a relatively small 4-5 years. The alternatives possible in IE were definitely MS-specific and had no chance of working elsewhere.
Re: (Score:2)
Re: (Score:2)
This is simply because it's the only language which you can run in a browser. The user demand is for something that can work on the client side in web pages.
Several others have been tried, eg. Flash was everywhere.
JavaScript is really quite powerful if you grok it. It also works well with the HTML DOM, which is the real reason it beat out Flash, Java, et. al. (apart from them being proprietary behemoths).
Re: Chicken & Egg (Score:2)
> You say JavaScript has an Industry-Given monopoly - but isn't it just as true that the reason the industry is all using it, Is because of massive developer use and demand?
Name an alternative language that has been available in the majority of browsers within the last 10 years...
There is no question of the chicken or the egg: it was added to Netscape in the 1990s and has been the de-facto ever since (aside from vbscript, which was IE only). If youâ(TM)re a web developer, what languages do you have
Re: (Score:2)
Flash and Java Applets ran code that were pretty much separate from the HTML. They didn't really integrate themselves very much with the rest of the HTML. JavaScript is pretty much the only language that was used to manipulate and deal with the HTML directly.Yes they ran in the browser, but they were completely different tools with a completely different purpose.
Re: Chicken & Egg (Score:2)
> Java via applets.
> Flash via plugins.
Both no longer supported, and neither could manipulate HTML or CSS (without JS), nor could they do anything outside their sandbox/UI.
> Sure - but to say it was "pushed by the industry" seems wrong when it's simple the industry following what was already there because it was simpler - and popular.
Well, since I didnâ(TM)t say it was âoepushed by the industryâ, no wonder it seems wrong.
The browser industry creates/supports the languages and librari
Re: Chicken & Egg (Score:2)
good luck running either on an iPhone. Ever.
Re: (Score:2)
Stockholm Syndrome, nothing more.
Re: (Score:2)
You say JavaScript has an Industry-Given monopoly - but isn't it just as true that the reason the industry is all using it, Is because of massive developer use and demand?
What? We have no choice. If you want to have code in the frontend of a website, you must use Javascript.
Re: (Score:2)
Why? I code all my websites in Java, which then get compiled to Javascript. Only way to stay sane.
Re: (Score:2)
Familiarity does not always breed contempt (Score:4, Insightful)
Re: (Score:2)
Re: (Score:2)
You can program strictly procedural in Common Lisp or Scheme. There is nothing in those languages that prohibits that.
Additionally, in Common Lisp you can program in a functional style, an object-oriented style, or other things.
The only thing missing in Common Lisp is better interaction with standard libraries.
Now for languages to dread: anything that has been derived from Ada, because of the red tape. I think that even modern Cobol variants have less red tape than Ada.
Pretty Much The Entire Article Is In the TFA (Score:2)
Went to the article to find out what other observations he had to make, and I don't really think there are any. The TFA is the Readers Digest condensed article.
Re: (Score:2)
The entire article is in the the fine article? Well that's reassuring
Re: (Score:2)
That's recursion.
VBA fan (Score:5, Interesting)
It's not VBA per se, but the thing is, VBA is not really a language, its an environment. As an engineer with stuff to do, most of it just the once, or for the duration of a project, the overall Excel tool is indispensable.
So the question is not how well VBA does general programming, but how well it lets you customize an Excel spreadsheet to allow people who would otherwise have to go through nine steps to load some data in, set some parameters, crunch the data, and pull out a report...100 times.
VBA can turn hours into minutes with highly repetitive spreadsheet uses that just require some procedural steps and IFs and stuff that are really hard to embed in spreadsheet formula approaches.
And VBA, with the huge bonus of having the development environment right there in the spreadsheet, very good at whipping together short, simple programs, made me the office magician. This did not get me seen as a "programmer" at all; indeed, those who appreciated me most were the trainee engineers and clerical assistants that were the ones stuck with going through the same 10 steps for four hours, and I'd make it all go away. Bosses were frequently unaware I'd saved hundreds of hours of staff time with a 20-line VBA.
Programmers judge languages by how good they are at 1000+ line programs that must last years and years; users know that programming problems are like the Richter Scale, where there are 10 Richter 6 earthquakes for every Richer 7, and 100 Richter 5 earthquakes. Programmers never even hear about the 50-line programs that would be useful, many of them, because it's not worth calling a programmer, and really not worth calling the programmer's IT bureaucracy.
The Program Size Power Law. analogous to the Richter Scale, suggests that there is as much code in the world in 1000-line chunks as 10,000-line chunks and 100-line chunks; just 10X as many total programs as you go down each order of magnitude. (I just invented this law, and stand by it.)
Example: a programmer being called in to fix a VBA written by engineers... that grew over years to 1000 lines, that guy has my sympathy. The thing is, the programmer doesn't realize there are also 1000 lines worth of 100-line VBAs in the same office, that they never called him about, because those ten solutions are doing fine.
Re: (Score:2)
I once programmed an entire CMS/ERP into an access database using VBA. The UI was great. Tracked everything from manufacuring QA, employee timeclocks, shipping, customer requests, etc. and was fully integrated with their generic ISP email (IMAP/SMTP client custom-coded, there were no libraries for it back then), QuickBooks integration, and fedex integration.
It wasn't my choice BTW, VBA was one of the main constraints the client gave me, because he had spent so much time building his precious Access datab
Re: (Score:2, Interesting)
You know what? VBA probably made that project possible. Had you used Java or C++, the project would have grown in size and complexity beyond the ability for a single developer to manage.
VBA, lacking OOP, forced you to actually write in a modular style. (OOP is anti-modular, as most of us have discovered.)
It's a shame there isn't support for it outside of Microsoft platforms. For CRUD and LOB apps, it's hard to beat good old VBA!
Re: (Score:2)
VB and VBA can be wickedly misused. I once encountered a real-time control system written in VB and Assembly. The VB variables were labelled TextBox1 through TextBox100. The assembly was similar. It must have been hell to not use a single meaningful variable name in a 16,000 line VB program, and another 10,000 lines of assembly.
Incidentally, VB was a popular language for control systems. I spent at least 20 years of my life spotting Emergency STOP circuits in VB. For safety reasons, Emergency STOP ci
Re: (Score:3)
You'd better be sure that the project for which you're building that VBA-boosted spreadsheet will be shorter than an Office update cycle. Because I've been there, done that and I got fed up with it.
Perl, bleeeeeeeech! (Score:2)
Perl is fine for quick command line data transformation. Otherwise, it blows. Too easy to write inscrutable and, hence, unmaintainable code.
Who the hell is using VBA these days? Why?
Re: (Score:3)
I like Perl just fine if I'm writing something from scratch. Doing maintenance on something, however, is dreadful. Even when it's my own code, six months from now I have no idea what I was doing and have to rely on my own comments. That typically results in a promise to next time write better comments. I lie to myself a lot.
Re: Perl, bleeeeeeeech! (Score:2)
lol. Been there.
Re: (Score:2)
Don't write comments, write requirements. And use a lightweight issue tracking tool like Trac.
It is all a question of discipline, hard obtained because of encountering your own mistakes further down the line, or down the years.
Re: (Score:2)
Clearly you have not done much work in Perl. It's a write-only language.
Re: (Score:2)
Only if you try to be clever. Clever code is small, compact, powerful, and extremly hard to maintain.
Better write some code that is (a bit) more verbose, and most importantly, simple to read. This has the added advantage that it's probably easy to maintain, and hopefully bugfree.
Re: (Score:2)
I suspect you're talking about the classical version of Perl, not the more modern iterations. I don't know whether they're any good or not, because I don't trust a language that has to continually be loading things from the internet, but it doesn't look as if it would have the problem you're attributing to it. Probably not the advantages, either.
Re: Perl, bleeeeeeeech! (Score:2)
Do you mean Raku? Was named perl 6 when released, I believe. Haven't used it, but technically it's not Perl. However, point taken.
Re: (Score:2)
Perl 7 is derived from Raku. And the language spec that Raku implemented was called Perl 6. (There were multiple compilers for that spec, and Raku was one and became the accepted one. I didn't know that they ever renamed the spec, however.)
Re: (Score:2)
Who the hell is using VBA these days? Why?
VBA can be embedded in Excel.
HIding what is happening at the processor level (Score:2)
If you don't know how your code is affecting the users hardware, you have no idea what side effects it is causing.
Re: (Score:2)
If you don't know how your code is affecting the users hardware, you have no idea what side effects it is causing.
Assuming that your code runs in an operating system, you have no idea what side effects the system calls are causing. Assuming that your code runs in a processor architecture that's not open, you have no idea what side effects your opcodes are causing.
And yet, sometimes, people manage to write working, useful programs in Python.
Re: (Score:2)
Where's Coldfusion? (Score:2)
CFML - a blast of of the past with a dollop of coding 'XML' goodness.
Not
Re: (Score:2)
Safely in the past.
Languages are crap due to many reasons (Score:2)
- Design by committee such as C++ iostreams which has horrible performance. [youtu.be]
* Over-engineered crap like Boost's CRC [boost.org] that takes 1,100+ LOC when a mere 21 LOC would do the job.
* No native ability for modules. Even Pascal had support for modules back in the 1980s!
- Stupid side effects that learnt nothing from earlier languages
* Javascript's crappy design of using variables even if you haven't declared them unless you turn on the "use strict"; hack. We already went
Re: (Score:2)
Javascript's crappy design of using variables even if you haven't declared them unless you turn on the "use strict"
Use "use strict"!
Shitty inconsistent designs such as PHP: a fractal of bad design [eev.ee]
Page written in 2012... PHP changed and improved so much in between, that page is obsolete for most of its points.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
It's a shame, because PHP 7 is almost pleasant to develop in- but still, all I ever encounter is garbage ass PHP5.
Re: (Score:2)
Imagine not knowing how to indent properly in 2020. I guess python isn't for everyone!
Are all your language complaints from a decade ago?
I also had problems with inconsistency in PHP in 2012, but 8 years later it's improved
My problem with Java isn't that I want to pretend to write C and manage all the memory (if I'm writing something that requires that I'll pick a more appropriate language), it's that there's so much overhead involved to so even the simplest tasks. When you want to do something and think
Re: (Score:2)
Imagine a Programmer telling a Mathematician that these two statements are functionally different even though semantically they are the same. They would laugh at your stupidity.
Uh, those two statements are functionally the same. The only difference is that the second one came from a different nesting level. It's the same as saying that two identical statements in C are functionally different based on the number of braces before it.
Re: (Score:2)
Python's retarded whitespace effecting functionality.
Au contraire, this is what makes Python the proverbial Good(TM) language; you do not have to count the fucking brackets that do so much to make bracket-using code unreadable.
Easy... (Score:2)
code-of-conduct.md
Re: Easy... (Score:2)
Like astronomy eliminating offensive names such as the Eskimo Galaxy, and just using the alphanumeric catalogue designation.
So what are we supposed to call Uranus? A red dwarf? A black hole?
Re: (Score:2)
When you behave in a decent manner does your neckbeard ache and burn?
Some theories (Score:2)
For Objective C, I imagine there are two groups that dislike it: one that doesn't like Apple and one that would rather use Swift. I know there is also GNUstep but I don't think that's statistically relevant.
Assembly isn't bad for what it does, but if you run into a block of assembly code when debugging or changing a piece of code, you know you have a lot of work ahead of you, so I can imagine people dread it for that reason.
Perl has a reputation of being hard to read, but it really depends on who wrote the
Re: (Score:2)
For Objective C, I imagine there are two groups that dislike it: one that doesn't like Apple and one that would rather use Swift.
And then there are those of us weirdos who like Objective-C, but don't particularly like Swift, because the Objective-C syntax seems more consistent (not to mention more familiar), at least from a C programmer's point of view. To be fair, every time we see an Objective-C block, we have to close our eyes and think of England, but apart from that syntactic abortion, it's a decent language, and with just a tiny bit of C preprocessor glue, it can be a great language.
Perl has a reputation of being hard to read, but it really depends on who wrote the code. I once had to add some features to a Perl script and I wasn't looking forward to that, but the script was very straightforward and I could make sense of it despite knowing barely any Perl.
Perl's inclusion of regular expressions as p
Re: (Score:2)
Your describing Laravel as far as using php in a a sane way. That how they do it. Falcon was nice but sucked...
Re: (Score:2)
I was actually describing how I wrote my own PHP code half a decade before Laravel existed, but it's good to know that others have taken a similar approach. :-D
Languages Evolve (Score:3)
My favorite new feature in JS is the arrow function. I almost never use the function definition statement anymore. It may just be syntactic sugar, but it's much better.
In both Python and JS I have stopped using loops and use map and reduce functions instead. When I look back on old JS code with for loops it seems very clunky and overly verbose. With map/reduce code is easier to write, easier to read and it looks really clean. I think I am making fewer mistakes as well. Style counts, and style can evolve.
Would help if "dreaded" was defined (Score:2)
"Dreaded" in this context means "% of developers who are developing with the language or technology but have not expressed interest in continuing to do so"
Limiting the pool to people who are actively using the language probably explains why Java, Javascript and Rust are so far down the list.
(Honestly, I'd describe myself as both wanting to use Rust and also dreading it. It seems to have so many neat ideas, but then I look at some actual Rust code and oh grief I'm already confused...)
Why isn't COBOL on the list? (Score:2)
On the one hand, businesses who run on ancient COBOL should be appalled by the fact that they have to pay through the nose to have the code maintained quite often by people who had retired once already. On the other hand, the maintainers of that code are making a crapton of money doing so.
Re: (Score:2)
You gave yourself an answer right there. No programmer making good bucks in his retirement because of his arcane skills will vote COBOL down.
A few possibilities (Score:2)
Outdated or shitty libraries
Weird, inconsistent syntax
Need to write complex lines for what should be simple
Security vulns that are rarely or never patched
Compilers that knitpick over code not written the way the compiler writers wanted, even if the code is 100% valid, with no alternative compiler available (not sure how often this happens)
Languages tied to a specific OS, or code not being readily portable
Languages that change rapidly and are not compatable with previous versions
Objective-C (Score:3)
But to the absolute novice, it's quite shocking.
The language Dread Pirate Roberts uses? (Score:2)
Inconceivable!
Re: The OOPs (Score:3)
Re: (Score:2)
"there's no language that implictly supports hardware threads"
Well there is, its called assembler. But joking aside, non assembly languages have to be hardware and OS agnostic - there's no point supporting threads in a language if the OS doesn't. Which is also why process control isn't supported natively by any non assembly language either. A language should natively support boolean logic, mathematical operations, flow of control and optionally OOP. Everything else should be in libraries (ultimately written
Re: (Score:2)
Most (all?) of the listed languages support hardware (OS) threads. But they do so explicitly, which means it's a pain to program. Implicit thread support would mean that a compiler or runtime can split up the program's execution over multiple hardware threads automatically.
Re: (Score:2)
OK, I see what you're getting at here. There are some languages that do this [wikipedia.org] but none of them are mainstream general-purpose programming languages. The linked article also outlines some of the problems with it, such as the potential to complicate debugging.
Re: (Score:2)
Good point about libraries. I wrote a book on PHP over twenty years ago, and I called PHP mostly a thin wrapper for many excellent, powerful, and performant C libraries. I got some hate mail over that one, but I still stand by that claim.
Re: (Score:2)
In what way are they like C++? I think C++ is quite unique in having a high abstraction level without runtime overhead. Most of the languages you list have accepted some to considerable runtime overhead, with the exception of Rust. Of course nothing is free and C++ pays for its features by having a difficult language definition and standard library.
Shader languages are inherently parallel, but not suitable for general-purpose programming. Functional programming languages should be easier to automatically pa
Re: (Score:3)
can't compile itself or it's not first tier? Did you pull that rule out of your ass? Many of worlds most enduring and successful languages don't compile themselves, it's not a requirement for any purpose.
Re: The OOPs (Score:2)
Re: (Score:2)
Decompilation is however pretty much solely used to describe the transformation of object code into C.
VM languages of course decompile into some popular high-level language commonly used on that VM.
Re: (Score:2)
The other problem in programming languages is that none of them are designed for multi-core/multi-threaded CPU's, and as such there's no language that implictly supports hardware threads
I'm fine with that. It's been a long time since I did anything with threads, but when I did I used pthreads. My code easily ported to Windows, BSD and Linux systems. I'm assuming that the portable threading libraries are still out there, and handle the hardware as an abstraction layer where it belongs. I don't think it
Re: (Score:2)
Multithreading is complex. It tends to blur the line between OS and Language. You can easily, for example, create a program that works perfectly in a 64-bit OS that fails in a 32-bit one (a 64-bit integer is typically not atomically read/written on a 32-bit system, creating a whole set of possible bugs). Do you want to consider this a library issue? A language issue? An OS issue?
If the language specifies the threading behavior (which also implies it needs to specify threads in general), then at least you ca
Re: (Score:3)
I dislike javascript and python with a passion. Ok, now I can go to sleep.
I hate them too but I won't sleep with you.
Re: (Score:2)
I don't hate Python with a passion, but I do find it overrated. People have been raving about it for years and t me it really doesn't live up to the hype.
Re: (Score:2)
Re: (Score:2)
True. Python is perfectly fine as a glue language like PHP or Visual Basic, which is what it was designed for. But then the author of TFA goes on and says that it's "good for large projects" and that it has "good libraries"...
It does have god or at least very many libraries. You want to do some obscure task? There's probably a libray for it already. Stinks for large projects though, and basically that's a result of dynamic typing. It's a bit better with type annotations in the newest versions, but it's very
Re: (Score:2)
But also despite the supposed simplicity, the semantics are weird at times.
LOL!!! PERL, anyone?
Re: (Score:2)
What Makes Some Programming Languages the 'Most Dreaded'?
Starting with 'Py' and ending with 'on.' That's right, it spells 'anaconda.'
Re: (Score:2)
Being told to write something in a language not because it's appropriate but because a PHB told you to do so, despite your objections.
To be fair, the PHB often has some very good points. Yes, the new language XXX is cool, hip and you want to use it - but the PHB might wisely insist on using something already is use by the organisation. You don't want a company's IT stack full of things developed in that year's hip, new language - maintenance and evolution will suck.
Re: (Score:2)
Cobol CGI [add1tocobol.com]
Re: (Score:2)
If you're going to display and format lots of server-generated decimal numbers then it can be a great choice. Though I'd probably use C.
Re: (Score:2)
correction: "...so do it in FORTRAN IV."
Actually, a modern Fortran wouldn't be that bad. You would, of course, have to write all the things that you use libraries for in other languages, but that's just because it isn't popular for the purpose, not because it's bad for the purpose. In many ways it would be better than C for writing a website.
Re: Being told by your PHB to write in it (Score:2)
Re: (Score:2)
Re: Manual memory management (Score:2)
Memory (m)alloc/free errors are just one type of error. Still have many other bug classes that appear in Java, etc.
The use case for C programming these days is embedded systems, operating systems (linux), and others where binary size, speed of execution, and memory management optimization is important (e.g., need your own memory allocator).
On average, C code that I encounter these days is much better than Java code that I see.
Re: (Score:2)
Oh it's a monster, alright. It's likely 860 pages because it lacks any sort of static typing.
Don't get me wrong, a language that runs in the browser is really handy. I just wish that it wasn't JavaScript. (And nowadays I get to pick from things like Elm, PureScript, KotlinJS, ScalaJS, Typescript, etc., and hopefully soon some of them will just boil down to WebAssembly instead of JS.)
Re: (Score:2)