Pfft, languages are for wimps, hand coded assembly is for real programmers.
If you're writing code in Python, JavaScript, Java and PHP, relax. The hot trendy languages are still miles behind, this survey says
The Python programming language continues to find more fans, having tied Java as the second most popular programming language, according to analysis conducted by IT consultancy Redmonk. JavaScript meanwhile has maintained its position at the top of the chart, as measured by the number of StackOverflow tags and the number of …
COMMENTS
-
-
-
-
-
-
-
Tuesday 3rd March 2020 14:39 GMT Martin an gof
really weird behavior from El Reg lately
I know this is wildly off-topic, but for a couple of years now I've been having problems with some websites but not others. ElReg was a notable example until recently where (at home) I could browse without problems, but when I tried to compose a reply to a thread it was pot luck whether the "submit" would complete. DDG image search would only load the first screen full of thumbnails, with the rest being blank. Suddenly, about 6 months ago, everything returned to normal for ElReg but other websites were still a problem - though not consistently. Amazon seemed to go through phases of being perfectly fine and perfectly broken. It was fine in the run up to Christmas (thank goodness) but I couldn't get it to work reliably after Christmas, when there were vouchers to be spent.
I was putting it down to my peculiar mix of NoScript, Privacy Badger etc. until I did a firmware update on my router where I read in the release notes that the default WAN MTU of 1500 bytes could cause problems with "some websites and services" - see "known issues" on the first page here.
Resetting the thing to 1492 bytes seems (so far) to have magically cured almost everything.
The near exact same model of modem at work didn't seem to display the same problems, with the only real difference between home and work being that one has BT as an ISP while the other is with a small ISP which re-sells TalkTalk. I can only assume that there's some bit of kit en-route for one but not the other which caused the problems.
Sorry, probably not at all relevant to your issue but this thing had been bugging me for a very, very long time and I have been so pleased to find what appears to be a cure...
M.
-
-
-
Monday 2nd March 2020 18:12 GMT BillG
Bah. I once had to program an 8-bit 4KByte OTP MCU without a compiler. I wrote out the assembly, translated it into binary according to the user manual, then to a hex file to burn into the OTP.
Months later a young programmer decided to write the same application using a C compiler after ragging on me for writing code using "bear skins & stone knives". He got code 20x larger than my assembly that was also too big to fit in the available OTP memory.
-
-
Monday 2nd March 2020 20:41 GMT Dave559
raw hex
You're giving me horrific flashbacks of some of the more complex type-in programs you used to get in various Sinclair Spectrum mags, which had substantially less BASIC than the typical program, and which mostly consisted of data statements to poke the aforementioned hex values into memory...
I was simultaneously in awe of but also rather disturbed by the idea that some people's minds worked in such a way that they actually could construct programs at such a low-level (I'll freely admit that when I had to do a course in assembler, although I mostly grokked the concepts, I found it hard going, and certainly wouldn't want to (or be able to) write any sort of complex program that way myself).
With hindsight, it's probably an indication that those particular programmers were probably somewhat further along the autism spectrum than many. It takes all sorts to make the world (no, not that sort of make world), and I guess it just shows how being "neurodivergent" can nevertheless give people certain skills and abilities that others don't have.
-
-
Tuesday 3rd March 2020 15:19 GMT lordminty
Re: raw hex
"Once upon a time you could boot an IMSAI or a PDP by loading the bootstrap in binary from the front panel."
Yeah, and a TI-990. In fact I used to have to do that, from multiple sheets of A4 to load the bootstrap loader that could then read a deck of cards, which loaded a program to do a bit level disk clone backup.
It was a right PITA when you got a few pages in and then messed up the switches. No choice you just had to start all over again.
Kids today eh?
-
-
-
Tuesday 3rd March 2020 10:01 GMT Mike 137
"Writing it in raw Hex, of course."
That's where I started in the '80s - writing the drivers for a disk stack operating system and patching new functionality into free bytes in application EPROMs. Higher level languages certainly do have advantages. However the proliferation of languages is accompanied by ever greater abstraction. Does anyone care any more about the actual executable code? I suspect very few do, but that's why we have so much bloat and so many bugs. Ultimately, whatever language you used in development it's the bytes that count (unless of course it's Java, where it's the virtual machine that counts).
But I mostly get concerned about these rankings because they don't take into account the different objectives of programming. I suspect JavaScript dominates solely because of the extent of web development, and C is so far down because in proportion to that not a lot of metal level coding is being done by those included in the sample. A better ranking system would make these distinctions and be able to show relevant preferences.
-
Tuesday 3rd March 2020 18:00 GMT Michael Wojcik
Re: "Writing it in raw Hex, of course."
Relatively fewer programmers care about the actual executable code than, say, thirty years ago, because the industry is much larger and a much greater portion of development is focused on highly-abstracted work like web UIs.
In absolute terms, though, the population of hackers and bit-bummers is still robust. Just read sites like Hackaday or publications like PoC||GTFO.
Even in my neck of the woods, where we're creating quite large software systems - I work primarily on our mainframe-emulation products, so language runtimes + application server + communications server + emulators + all sorts of application features - teams have to be quite sensitive to low-level issues of performance, resource consumption, isolation, robustness, etc. Those parts of the industry may not get the attention of the latest Javascript frameworks or container-orchestration techniques, but they still exist.
-
-
-
-
Tuesday 3rd March 2020 15:49 GMT joeW
Re: Irony
I'm reminded of a famous StackOverflow answer to the question, "What's the difference between Java and Javascript?"
"One is essentially a toy, designed for writing small pieces of code, and traditionally used and abused by inexperienced programmers.
The other is a scripting language for web browsers."
-
-
-
Tuesday 3rd March 2020 03:25 GMT AdamWill
Re: But true masochists...
pfah, try doing it in wikicode...mediawiki with https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions is similarly close to Turing-complete, but has the exciting bonus of significant whitespace! no indentation for you, sucker.
(OK, so then they invented https://www.mediawiki.org/wiki/Extension:Scribunto , but that's way less 'fun'!)
-
Tuesday 3rd March 2020 18:00 GMT Michael Wojcik
Re: But true masochists...
True regexes aren't Turing-complete (they're equivalent to DFAs), but those "extended" regexes that soft modern programmers are so fond of are.
Of course a real programmer knows that any physical implementation of a Turing Machine has finite storage and thus is no more powerful than an exponentially larger DFA, so the distinction is really a hardware problem and of no concern to programmers.
-
-
-
Monday 2nd March 2020 18:50 GMT Boris the Cockroach
When I were a lad , we could'nt afford 1's , so we had to make do with 0's
Anyway you're not a real programmer if you have never programmed a multi-spindle mill/turn with intergrated robot loader/picker.
Get that wrong and its a little more expensive than "unknown exception at 1452:56" (and dangerous..... tear the arm off and having it spin round at 4000 rpm sure does make you change your pants ).....
-
Monday 2nd March 2020 20:23 GMT Anonymous Coward
I have programmed a control system for a tank cupola.
Always at the back of my mind was the large piece of inch thick nickel steel welded round the back to deal with the possibility that a bug might cause it to try to rotate more than 180 degrees each way, and the big dents in it, a legacy of the previous programmer. Having your legs taken off by the breech was at least possible.
That is the kind of case in which assembler, and check the machine code before running live, seemed like a good idea.
-
Tuesday 3rd March 2020 01:33 GMT jake
You had 0s? Luxury!
When I were your age, we had to make do with nowt but Whitespace.
Tell that to kids today ...
-
-
-
-
Monday 2nd March 2020 07:47 GMT lordminty
COBOL
Wot no COBOL?
Surely in terms of lines of code in active service, COBOL is still leader of the pack?
Are these languages actually popular, or is this survey of forums a measure of just how unskilled younger code monkeys are, or how user hostile and illogical the 'top' languages are?
Anyway, you're not really a programmer until you've had to hand code IBM mainframe assembler just to get the system to IPL. Somehow I dont see any Javascript/Java coders going near that.
-
-
-
Tuesday 3rd March 2020 16:03 GMT lordminty
Re: COBOL
"I think that's because their computers lack internet access... IPv4... graphical displays..."
Pah, I was installing the quaintly named Transmission Control Protocol/Internet Protocol on IBM MVS mainframes back in 1991 before it was even an official IBM product for MVS.
Oh, and we used IBM-compatible PCs (remember them?) running Attachmate 3270 emulator, so arguably we had a graphical display too.
-
Monday 9th March 2020 06:03 GMT Loud Speaker
Re: COBOL
We used IBM-compatible PCs (remember them?) running Attachmate 3270 emulator, so arguably we had a graphical display too.
Presumably with CGA - "Crap Graphics Adaptor" - I doubt IBM would have given you Herculeses.
(I wrote a 3270 emulator for the BBC Model B)
Error at or near line1, column 1
-
-
Monday 2nd March 2020 15:17 GMT cschneid
Re: COBOL
Most of the StackOverflow COBOL questions seem to be from students.
Two former co-workers were telling me a story about one (a 30 year COBOL veteran) working his way through some CICS COBOL code that used raw sockets to talk to an external provider, with the other (a 20 year Java veteran) looking over his shoulder. The Java vet was having no trouble keeping up with the COBOL vet, somewhat to the mild annoyance and impressed surprise of the COBOL vet.
COBOL is just another programming language. It's not hard to learn, it's not hard to understand, it's just out of fashion despite being really good for its problem space.
You don't write a regex engine in COBOL. You don't implement the Quicksort algorithm in COBOL. I mean, you probably could, but that's not its problem space so just don't.
If you're VISA or American Express doing OLTP and you need serious speed, reliability, recoverability, and securability then COBOL and CICS on a z15 are your jam.
-
Monday 2nd March 2020 21:54 GMT Richard Plinston
Re: COBOL
> You don't implement the Quicksort algorithm in COBOL.
I have done that, in CIS COBOL on 64Kb CP/M. While COBOL does have a SORT verb, at the time it only worked on files and the program needed an array sorted. Since the mid 80s SORT has worked on arrays.
> but that's not its problem space so just don't.
Sorting is very much part of COBOL's problem space.
-
Tuesday 3rd March 2020 18:26 GMT Michael Wojcik
Re: COBOL
Yeah, Quicksort in COBOL isn't bad.
I implemented MD5 in COBOL; that was a bit more of a hassle. Still doable, though.
In any case, as Kolmogorov demonstrated, all Turing-complete programming languages are not only equivalent, but in fact can express any given computable function in a program of at worst the same size plus a relatively small constant - the constant in question being the size of an interpreter for another language.
-
-
-
-
Monday 2nd March 2020 08:50 GMT Charlie Clark
Re: COBOL
Are these languages actually popular, or is this survey of forums a measure of just how unskilled younger code monkeys are, or how user hostile and illogical the 'top' languages are?
What's the difference? The answer is both, though RedMonk prides itself on the quality of its data sources. Newer languages that address specific domains tend to be more popular and attract more interest and questions.
COBOL is all over the place but I'm not sure how much training, questions, etc. it's producing.
-
Tuesday 3rd March 2020 18:02 GMT Michael Wojcik
Re: COBOL
How can the answer to three alternatives be "both"?
In any case, the OP's question is answered by the article, which discusses the RedMonk methodology. Their survey measures the frequency with which languages appear in two domains: StackOverflow and GitHub. That's what it tells you. Whether you want to interpret that as "popularity" is up to you.
Personally, I don't think "popularity" is a particularly interesting metric in pretty much any domain.
-
-
Monday 2nd March 2020 09:45 GMT jake
Re: COBOL
I have no idea about pack leaders, but I do know for a fact that I do not know any proficient COBOL programmers who have issues finding work with better than decent pay, benefits and working conditions. I can say the same for Fortran. I can not say the same for any other language, but perl and C/C++ come close. (Many/most jobs that claim to be C++ are actually good ol' C ... but that's a rant for another day.)
Assembler is handy to have a functional handle on, especially in the embedded world, but that's becoming a specialized field these days. Still, it pays well if you can find a niche to fit into.
If I buy a round will you stop calling me Shirley?
-
Monday 2nd March 2020 13:09 GMT Mike 125
Re: COBOL
>(Many/most jobs that claim to be C++ are actually good ol' C ... ... but that's a rant for another day.)
It's a worthwhile rant. 'C/C++' is usually a bad indicator for an advertised job. The *appropriate* use case for each is (correctly) very different. OTOH, if it's just a C++ compiler constrained (caged!) to C, that's fine.
It's one of the first questions I ask these days. The answer reveals a huge amount about whoever's doing the interviewing/ advertising, although not necessarily much about the actual job!
-
Tuesday 3rd March 2020 13:15 GMT Wayland
Re: COBOL
C is a very useful language as an upgrade or interface to assembly language say in small embedded systems. I was using C on a Z80 based embedded system and it was a lot easier than assembler we had been using. C++ is trying to be a proper high level language and there are much better ones for that job.
-
-
Tuesday 3rd March 2020 18:26 GMT Michael Wojcik
Re: COBOL
I don't think 370/390/z assembly is particularly difficult. It's not quite as luxurious as, say, VAX assembly, or the TI 64030; but it's a damned sight easier than some of the early RISC instruction sets (simply because they were deliberately constrained and thus made you do a bunch of "extra" work) or Itanium (because writing VLIW instructions by hand is pretty awful, and Itanium has pitfalls for the unwary like trap representations for registers).
-
-
-
-
-
Monday 2nd March 2020 13:22 GMT Anonymous Coward
Re: COBOL
"Surely in terms of lines of code in active service, COBOL is still leader of the pack?"
Likely, yes, but this survey was about produced code. So, not a surprise Cobol is not here, since you even have people in their 50s for which Cobol was already history when they started.
Of course, its usage got a surge during Y2K, but most people used to it are now retired, therefore low usage.
-
Tuesday 3rd March 2020 13:15 GMT Wayland
Re: COBOL
I'm 55 and when I was a lad we used C and looked down on COBOL as from the stone age. Now I appreciate that different languages are focused on different jobs. C is close to the hardware which is what you want when programming hardware. COBOL is about processing business data and assumes all the technical stuff about the machine it's running on has been handled already. Trying to write business software in C is horrendous because C can do almost nothing without a library. Calling library functions in C is messy.
-
-
Tuesday 3rd March 2020 03:25 GMT AdamWill
Re: COBOL
From the article:
"Redmonk's biannual survey of programming language popularity makes no pretense at being a definitive ranking of worldwide popularity or overall industry usage. It's simply a measurement of available data that provides a sense of language trends."
so, yeah, that.
-
-
-
This post has been deleted by its author
-
Monday 2nd March 2020 11:22 GMT thames
Re: Fuchs-ya
That will be the amount of RAM to run the compiler on the host, not to run the resulting Fuscia operating system Most of that will likely be taken up by tables of optimisation data which must be kept live during the build.
This is not an unusual for large software projects which are compiled from source.
-
Monday 2nd March 2020 14:26 GMT Dan 55
Re: Fuchs-ya
I did not click through and took "installed" to mean "installed", not "compiled". Oddly enough now that I've done that the build instructions don't really mention the requirements for running the OS.
You can run the build on a Pixelbook which has 16Gb of RAM and 512Gb of storage, which is worse than the build machine.
I am aware of xkcd 303, yes.
-
-
Tuesday 3rd March 2020 10:13 GMT Mike 137
"2GB RAM [...] is pretty constrained these days even for a phone"
OK, Try a PIC 18F4xxx device - 64kB code space (32k instructions). It's amazing how much you can do in that space with a good optimising C compiler - e.g. TCP/IP over Ethernet plus space to do real work along side. Microchip even provide a ready made library for this.
I use these devices to create lab instruments and they're typically all that's needed. Just for example, consider the resources used by a Raspberry Pi to do the same job. No aspersions on the Pi - it's just much more complicated than necessary for tasks like this. Simple code has a better chance of being robust and bug free, and sometimes that matters - like when an instrument losing itself live can blow up other kit.
-
Tuesday 3rd March 2020 13:19 GMT Wayland
Re: "2GB RAM [...] is pretty constrained these days even for a phone"
Exactly. A PI is a full blown general purpose computer. It has everything you'd expect from any computer including a file system, networking and a GUI. A PIC is just a processor, RAM and IO. You use firmware to operate the hardware. On a PI you use the hardware to support the software.
-
Wednesday 4th March 2020 00:43 GMT eldakka
Re: "2GB RAM [...] is pretty constrained these days even for a phone"
If you notice the icon, and read the post in relation to @Dan 55's post, the reply is more playing with the fact that @Dan 55 used 16Gb and 512Gb, which is Gigabits, for a notebook, a Pixelbook, which translated into GigaBytes is 2GB and 64GB. Whereas they probably meant - but typo'ed - 16GB and 512GB.
-
-
-
-
-
-
Monday 2nd March 2020 08:57 GMT Version 1.0
Failure wins?
JavaScript meanwhile has maintained its position at the top of the chart, as measured by the number of StackOverflow tags - and what does StackOverflow indicate? Essentially, being at the top of the StackOverflow chart means that people have questions and problems and can't get stuff to work so they post on StackOverflow to complain and plea for help.
-
-
-
Monday 2nd March 2020 15:38 GMT Drew Scriver
Re: Failure wins?
Most people don't even realize that it makes a difference how the search phrase is constructed. Even if they did I doubt they'd be able to create a well-constructed, effective search term.
"how do u make python giv ppl a differant anser if ur string is differant from what ppl xpect it 2 b" (sic)
vs
"ternary"
-
-
-
Monday 2nd March 2020 11:23 GMT thames
Re: Failure wins?
What these sorts of lists are intended to do is to sort out are overall trends rather than fine gradations. If you see that language 'x' is backed by a big promotional budget by some company but isn't cracking the top 20 after 5 years then you know it is seeing very little real world adoption outside of the original backer.
Once you get out of the top 10 in any of these lists you are down into a very statistically noisy area as you are talking about low single percentage point adoption rates or less. If you want to be ahead of the adoption curve for new technologies (e.g. you're looking get in on the ground floor for the next set of lucrative consulting gigs with trendy new technologies) then you need to look at what might drive adoption still higher rather than just current ranking level.
For example the Redmonk post itself suggests that Go seems to have reached its natural ceiling in the mid teens (so not that relevant) with nothing to drive it higher at this time. On the other hand, Dart is just below the top 20, but has been rising rapidly based on the new Flutter UI toolkit, and so might be a language to keep an eye on as an alternative to something like Electron.
-
Monday 2nd March 2020 12:55 GMT SVV
Re: Failure wins?
The fact that CSS is a more popular "programming language" than C according to the list seems to be empirical proof of this. To be able to develop software in C or C++ you really have to know the language and have a solid grasp of all the fundamental concepts of what programming is all about. It just isn't sustainable to try and wing it by copying and pasting fragments from Github and Stack Overflow. Hence the fact that the vast majority of programmers in those languages are able to work out the solutions to problems themselves.
-
-
Monday 2nd March 2020 11:22 GMT thames
Java tied for #2
Larry over at Oracle might really want to think about how being tied for #2 after having been #2 for so long is generally followed eventually by being #3 and then #4, etc., If he wants "his" language to remain relevant in future, he has to find ways of building partnerships with the parts of the IT industry that are actively growing, such as mobile.
Or perhaps he doesn't care, and just looks at Java as being another "legacy" asset to be milked for cash ruthlessly before being discarded and replaced by some other new acquisition.
I've drawn my own conclusions based on his actions and will plan accordingly.
-
Monday 2nd March 2020 18:54 GMT bombastic bob
Re: Java tied for #2
The Java language has been #1 on the TIOBE index for a LONG time, occasionally trading places with 'C'. And somewhere WAY down the list, is C-pound... pathetically trying to stay RELEVANT.
And... because of the HUGE discrepency between TIOBE (which I trust) and THIS list (which I'm skeptical of), I have to wonder who's money is behind THIS one... (stack overflow is an indicator of people having problems, not whether a language is being used by competent developers).
I mean C-pound being MORE POPULAR than C or C++??? Wishful thinking, for sure!
A simple summary of TIOBE: #1 is Java, at 17.4%, followed by C at 16.8%, then Python at 9.3%, C++ at 6.2%, and *THEN* C-pound at an unusually large number of 5.9% (I recall it's usually below 5%, down in the low 4's). But C-pound has its occasional spikes. Average over time since 2014, close to 4%.
So the REAL popular languages have been that way for a LONG time. Java, C, C++, and even Python. Other scripted languages (like PHP and javascript) remain relevant, and ".Not" crap bounces around but remains relatively LOW compared to "the others".
So for a n00b programmer looking for a language to master, consider Java, C, C++, and Python. And if you are a project manager, and want to develop projects using one of those 4 languages, it's a safe bet you'll find competent coders to do the work.
post-note - went to redmonk site, saw light grey on blinding white with tiny font web page layout, and it became obvious: the people doing this are ALL UNDER 30!! Because anyone over 40 would have a VERY hard time reading that...
-
Tuesday 3rd March 2020 09:37 GMT RyokuMas
Apples, oranges (or "lies, damn lies and statistics")...
"And somewhere WAY down the list, is C-pound... pathetically trying to stay RELEVANT
According to their site, The [TIOBE] ratings are calculated by counting hits of the most popular search engines. (see the "Ratings" section near the bottom). So TIOBE enter +"[language name] programming" into various search engines and count the results.
Whereas RedMonk extract their results from Github and Stack Overflow - in their own words, they are trying to rank based on code and traction.
Hands up who remembers the early days of SEO, when keyword stuffing was still a thing? Okay, search engines are a lot better now, but when you're doing a spider of a results set, that's all the results from the most relevant to the least, and potentially a lot of historical data too - Google-searching for "C++ programming" and jumping to the last page revealed a 2007 book, for example...
Whether or not TIOBE's system is clever enough to remove these sort of results - well, I can't say. Similarly, I've no idea exactly how clever RedMonk's system is, although since pull requests and Stack Overflow posts/replies have datestamps, I'd imagine they'd filter out historical data. The point is that comparing these two ranking systems is like comparing apples with oranges. And, as TIOBE themselves point out:
"It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written"
So maybe over the last two years more pull requests have been submitted and more Stack Overflow questions have been asked regarding C# than C++ - again, I can't answer that. But given howls of derision when Microsoft bought out Github, and that C# is primarily a Microsoft language, I can see how the knee-jerk "because it's Microsoft" brigade might not be committing so many lines to Github any more.
Ultimately, it's possible to twist any form of statistics when presenting them: for example, it's very easy to say "ah yes, C# only gets a 4% rating on average", and conveniently overlook the fact that on C# has on average ranked in 5th position on the TIOBE index for the last decade (see the "Very Long Term History" section). I guess it all depends on how strongly the person posting FEELS (as opposed to how rationally they THINK).
-
-
Monday 2nd March 2020 22:28 GMT Richard Plinston
Re: Java tied for #2
> #2 for so long is generally followed eventually by being #3 and then #4, etc
The ranking is based on the number of people asking questions. To bring a language back to number one just put out a new release with lots of new features that programmers will want to try to use.
-
-
Monday 2nd March 2020 11:30 GMT karlkarl
"Given that Dart is one of the approved languages for Fuchsia app development, it could become more popular still if and when Google releases a stable, consumer-oriented version of the operating system"
Not sure, we will probably do what we have always done and sidestepped whatever stupid domain specific language they want us to use for their silly apps and just keep with C and C++ whilst we port our software badly to "yet another non-standard platform" ;).
It is interesting how these languages differ from the TIOBE index. Do you rekon there are more web developers on stack overflow or just that they ask more questions?
-
Monday 2nd March 2020 22:46 GMT thames
With respect to the TIOBE index, they use a different methodology drawing from a large number of search engines. As an example of how this can make a difference, if you look at TIOBE's historical graph you will see a huge shift back in 2004 when they made a major change in how they determined the rankings. You can see that over time they are not necessarily even consistent with themselves.
Redmonk on the other hand use a much simpler method with only two data sources. However, their methodology does try to distinguish between languages that are talked about versus languages that people are actively writing code in.
TIOBE sell access to their raw data set, so they have an incentive to make it as big and complex as possible.
Neither method is really "correct" in the sense of counting how much code is being written in which language, but they do provide a general idea of which languages are all hype versus which ones are seeing actual use, and they give an idea of overall trends.
On either list, once you get out of the top 10 you are looking at languages which are not seeing widespread current use outside of niche applications or else are on their way out.
-
Wednesday 4th March 2020 11:11 GMT anonanonanon2
"Not sure, we will probably do what we have always done and sidestepped whatever stupid domain specific language they want us to use for their silly apps and just keep with C and C++ whilst we port our software badly to "yet another non-standard platform" ;)."
Ah, one of the people responsible for the abomination they call QT for mobile
-
-
-
-
Monday 2nd March 2020 18:11 GMT Spamfast
I wonder what purpose they really serve other than keeping academics and training companies in business.
As the kids almost certainly don't say, "Preach!" *high five*
I struggle to understand the point of Haskell, Typescript or type hint notation in Python.
The whole point is loose typing - it's up to the callee to decide what to do with the arguments.
-
Monday 2nd March 2020 23:39 GMT thames
Technology changes, the market changes, the economics change, and software tools need to change along with them.
In the end, decisions have to make sense from a business perspective so you have to balance hardware costs with development costs and time to market. As more and more computing devices have come into use in more and more places, the number of niches which need to balance those factors in different ways has also increased. The result has been newer languages which fit those application niches better.
There has also been a general trend away from the proprietary languages or language dialects of a few decades ago to open source languages. I'm sure you remember for example the proprietary 4GL languages which were supposed to, if you believed the salesmen, take over the market, but which faded from the scene along with the companies that owned them. The proprietary languages have been nearly entirely replaced by open source alternatives as the latter have nearly frictionless adoption paths which lead directly to the people who use them.
-
-
-
-
-
-
Monday 2nd March 2020 14:46 GMT Anonymous Coward
I'm not dissing StackOverflow. There are some very very clever people contributing to the site, as for example the posts quoted above, and it is very useful
What we're pointing out is that garbage input data produces garbage results, whatever the media.
At most, this study shows an estimate of how many people are learning a particular language,
Certainly not how popular a language is to write production code.
-
-
-
-
Monday 2nd March 2020 13:24 GMT andy 103
JavaScript isn't just client side anymore
Some observations:
1. JavaScript - this isn't used purely client side anymore. Node.js amongst other things use server side JavaScript.
2. Python - trendy, used for "AI" (whatever you think that means). A bandwagon on which many people wish to jump, at the moment.
2. Java - marmite. Serious shortcomings for web applications, albeit useful for other things. Probably going to be around a while especially given the number of legacy things that have been written in it.
4. PHP - for years has been used to get around Java's shortcomings in the web application arena. Opinions vary as to how well it does this. PHP doesn't necessarily need a web server (scripts can be executed through a CLI) therefore can be - and is being - used to do all kinds of server side processing.
The quantity of posts on Stack Overflow is pretty meaningless. I'd be very surprised if it wasn't JavaScript at number 1 given the myriad of frameworks and technologies that now rely on it. Often documented badly, hence the number of questions.
-
Monday 2nd March 2020 18:18 GMT Spamfast
Re: JavaScript isn't just client side anymore
Java client-side is a dead end security nightmare.
Java server-side always ends up being some sort of oh my god I need ten times the compute resources crazy town.
Java should be taken outside the back of the shed and put down.
Or if a place is infested, nuke from orbit.
-
-
Wednesday 4th March 2020 11:33 GMT Spamfast
Re: JavaScript isn't just client side anymore
Upvote because in a former life I used to consult on web app development and I found LAMP (or preferably LAPP) way better than, say, ASP/SQL-Server/IIS.
But I've come to the conclusion that for net server stuff Python is much better. The syntax especially variable notation in PHP feels very clunky these days. Too reminiscent of trying to write production code in bash or Perl.
I've not tried but Javascript, Ruby etc are probably nice too - anything with sensible syntax and low amounts of punctuation.
I'm very jaundiced about a lot of the frameworks for JS/TS though - a gazillion lines of boilerplate code just to do the web equivalent of "hello, world" seems a bit OTT.
But then I come from a 1980s and/or embedded viewpoint - when you care about the RAM & bandwidth you get a bit antsy.
-
-
-
Monday 2nd March 2020 14:29 GMT LeoP
Collecting a few downvotes
First of all: I appreciate StackOverflow
This stems to a big part from those nasty bastards that pay my bills: The customers. A lot of our work is replacing outdated/buggy/no-longer-suppported/whatever systems and applications with something more robust that runs on a sane foundation (for varying values of sane). This often includes having to dip into the other system deep enough to make migration easier or sometimes even feasable. StackOverflow has this knowledege.
As a thank you, I tend to answer a selected "hard" question from time to time - quid pro quo.
Now the second flame war: There is no inherently bad programming language - and if there is, then neither JS nor PHP. It might be (and likely is) true, that the perceived easyness and accessability of the pair produces an out of proportion amount of inexperienced or just bad developers, but I consider it unwise to blame this on the languages. We create a lot of PHP - but we (at least try to) do it in a sane, controlled and responsibe way.
I do on the other hand know from personal experience a metric shitton of C{,++,#} code that should never have been allowed to leave the dark cave it was conceived in. And don't get me started on 100MB+ Java processes doing basically a "Hello, World".
Languages (and more important: Runtimes) are tools. Tools help. Tools do not replace skills.
-
Monday 2nd March 2020 20:14 GMT Anonymous Coward
Re: Collecting a few downvotes
"And don't get me started on 100MB+ Java processes doing basically a "Hello, World"."
We seem to have met the same awful programmers.
I encountered one who, when he got stuck (which seemed to happen daily) would start extending classes and adding interfaces to simple things (and probably a Factory) until it was turtles all the way down but he still didn't know how to implement the simple bit of business logic needed. And then he read somewhere that Exceptions were bad things and started trying to eliminate them...
-
-
-
This post has been deleted by its author
-
-
Monday 2nd March 2020 15:22 GMT Tail Up
Russian, where?
Trendy, says you?
23:16, March 2, 2020 Source: Interfax Reliable source
Russian President Vladimir Putin submitted draft amendments to the Constitution to the State Duma, Vyacheslav Volodin, speaker of the lower house of parliament, said.
The draft amendments to the State Duma *database* at the time of writing the news had not been published, but Volodin spoke about some of them.
So, according to the State Duma speaker, one of the amendments to the Constitution is proposed to add a mention of God. “The Russian Federation, united by a thousand-year history, preserving the memory of the ancestors who transmitted to us the ideals and faith in God, as well as the continuity of the development of the Russian state, recognizes the historical unity of the state,” Volodin read the text of the amendment.
Another amendment, said Peter Tolstoy, vice speaker of the State Duma, states in the Constitution that marriage is a union of a man and a woman.
In addition, the amendments proposed by Putin suggest that the Basic Law stipulate that Russia is the legal successor of the Soviet Union, add a provision on the inadmissibility of alienation of parts of the Russian Federation and appeals to it, as well as give the republics the right to establish national languages as state languages along with Russian-state language of the Russian Federation.
GOOG translated, sry folks, load up ur guns, whatchamaythink of it?
-
-
Tuesday 3rd March 2020 02:51 GMT jake
Re: Russian, where?
I didn't downvote it, mainly because I rarely give a thumb about anything ... however, I seriously doubt the thumbs had anything to do with LGBT-anything. I suspect those downvotes were because the rambling pseudo-treatise is completely non sequitur, and not in a good way.
-
-
-
-
Monday 2nd March 2020 20:23 GMT Anonymous Coward
So popular!
Sadly, my employer has chosen the most popular Java web service framework on StackOverflow. They lack the experience to know that it's popular because nobody can get the old bloated mess working correctly or efficiently. More modern Java web frameworks have mostly RTFM solutions and no magical features needing superstitious tech support.
-
Tuesday 3rd March 2020 10:15 GMT RegGuy1
Python and the minus in a filename
I've had a look at Python but could never work out how to include the minus in a filename. I hate the underscore, and am so used to the fluidity of typing a minus. For example, I find
this-is-a-file-name.txt
easier to type thanthis_is_a_file_name.txt
. Yet I've never been able to get Python to allow me to do this. Is it really forbidden? I know some numpty said we don't like it but if you are going to go out of your way to stop me coding the way I want, I'm going to ignore you, thanks very much.But the core question to me is, can you use a minus?
-
Tuesday 3rd March 2020 10:50 GMT ibmalone
Re: Python and the minus in a filename
camelCaseAndStopWorrying
(Yes I do get bitten by this when I name a file without thinking. Essentially it's not to do with file names, but to do with valid identifiers, as imported filenames are namespace names. a-b is not a valid identifier in C either, or most other sane languages, so I guess you can't always code the way you want after all. To bring it back on topic, stack overflow has some advice if you must do it https://stackoverflow.com/questions/8350853/how-to-import-module-when-module-name-has-a-dash-or-hyphen-in-it)
-
Tuesday 3rd March 2020 15:05 GMT RegGuy1
Re: Python and the minus in a filename
Thanks. I have far too many files over far too many years using the minus. I could create hard links but I still take the view why? Why not have the string 'a-b' as the filename? I can do that in Javascript.
var file = 'a-b.txt';
And then use the variable file for the filename.
CamelCase is no better. You have to press the SHIFT key there too. Using a minus means no shift key -- just press keys. :-)
I learnt years ago, when working with Lisp, that there was a language that would let you do what you want. Hey, Lisp even lets you have a variable called
3-men-in-a-boat
, so(setf 3-men-in-a-boat 'a-b.txt)
works! How cool is that?Sorry, but if the language is going to be prescriptive to stop me doing what I want, I'm going to ignore it. I already ignore Microsoft for that reason. Python, alas, is in the same boat.
But thanks for clarifying. At least now I know I can't. Appreciated.
CL-USER(1): (setf 3-men-in-a-boat 'a-b.txt)
A-B.TXT
CL-USER(2): 3-men-in-a-boat
A-B.TXT
CL-USER(3):
-
Tuesday 3rd March 2020 21:47 GMT ibmalone
Re: Python and the minus in a filename
Okay, I've no idea what you're talking about now. I thought you were referring to the need to use only valid identifiers as file names for source files. But you seem to be saying you think python can't access files with hyphens in the name at all, which is... not true.
ipython3:
In [1]: f=open("some-file.txt","w")
In [2]: f.write("hello world\n")
Out[2]: 12
In [3]: f.close()
In [4]: g=open("some-file.txt","r")
In [5]: print(g.read())
hello world
In [6]: g.close()
-
-
-
Tuesday 3rd March 2020 19:41 GMT Richard Plinston
Re: Python and the minus in a filename
> this-is-a-file-name.txt ... Yet I've never been able to get Python to allow me to do this. Is it really forbidden?
You are talking nonsense. A filename in Python must be in a string, such as in quotes or apostrophes, and thus almost any character is allowed, including hyphens.
fd = open("this-is-a-file-name.txt", mode)
is perfectly valid.
-
-
Wednesday 4th March 2020 11:40 GMT Anonymous Coward
Ignored....
There is a huge area of software development that seems to be ignored... where people don't ask questions on StackOverflow, don't use anything remotely new-fangled (i.e. this millenium) yet write software that keep the world turning and people from dying, and they do it all in none of those languages.... welcome to Ada.
-
Wednesday 4th March 2020 18:34 GMT jake
Re: Ignored....
Ada? Wasn't that the public works project that managed to keep several thousand migrant defense contractor trainees off the streets at night back in the late '70s and well into the '80s?.
Or was it the programming language that proved exactly why Pascal shouldn't have been designed by committee?
-