Slashdot Mirror


The Working Dead: Which IT Jobs Are Bound For Extinction? (infoworld.com)

Slashdot reader snydeq shares an InfoWorld article identifying "The Working Dead: IT Jobs Bound For Extinction." Here's some of its predictions.
  • The president of one job leadership consultancy argues C and C++ coders will soon be as obsolete as Cobol programmers. "The entire world has gone to Java or .Net. You still find C++ coders in financial companies because their systems are built on that, but they're disappearing."
  • A data scientist at Stack Overflow "says demand for PHP, WordPress, and LAMP skills are seeing a steady decline, while newer frameworks and languages like React, Angular, and Scala are on the rise."
  • The CEO and co-founder of an anonymous virtual private network service says "The rise of Azure and the Linux takeover has put most Windows admins out of work. Many of my old colleagues have had to retrain for Linux or go into something else entirely."
  • In addition, "Thanks to the massive migration to the cloud, listings for jobs that involve maintaining IT infrastructure, like network engineer or system administrator, are trending downward, notes Terence Chiu, vice president of careers site Indeed Prime."
  • The CTO of the job site Ladders adds that Smalltalk, Flex, and Pascal "quickly went from being popular to being only useful for maintaining older systems. Engineers and programmers need to continually learn new languages, or they'll find themselves maintaining systems instead of creating new products."
  • The president of Dice.com says "Right now, Java and Python are really hot. In five years they may not be... jobs are changing all the time, and that's a real pain point for tech professionals."

But the regional dean of Northeastern University-Silicon Valley has the glummest prediction of all. "If I were to look at a crystal ball, I don't think the world's going to need as many coders after 2020. Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI."


581 comments

  1. Short sight by CRC'99 · · Score: 5, Insightful

    The entire world has gone to Java or .Net

    *cough* What a crock of shit.

    --
    Sendmail is like emacs: A nice operating system, but missing an editor and a MTA.
    1. Re: Short sight by Oscaro · · Score: 5, Insightful

      Yep, fir example I work on medical diagnostic software and the amount of data you need to manage and render on screen smoothly is so huge that C++ is the most reasonable and common choice (even if not the only possible one). There are lots of fields where C++ is still king. And that's a shame, because it's a crock of a language.

    2. Re:Short sight by Dutch+Gun · · Score: 5, Insightful

      C++ employers will be employable in the videogame industry for the foreseeable future, at least. I presume that they'll also be employable for working on any large-scale applications that requires support or compatibility beyond what some of the newer, safer, high-performance compiled languages can provide.

      People always talk about how terrible C++ is (and it's hard to argue with many of their points), but it continually shows up in the language rankings as a steady #3 to #7 or so, depending on how language "popularity" is figured. It benefits less from being "pure" and more from being incredibly pragmatic as a language, similar to C. R and Go are still lagging far behind, with D almost out of sight. Swift is moving up thanks to iOS, and maybe Kotlin will do the same thanks to Android (but we'll see - I'd literally never heard of it until recently), but those are almost pre-destined to be one-trick ponies due their strong platform ties.

      Ultimately, the big problem is that I don't see a real universal contender for high-performance native code taking over from C/C++. There are a lot of promising languages, but at the moment, nothing is really taking off. Simple inertia is pretty hard to overcome, as it turns out.

      Final point:

      But the regional dean of Northeastern University-Silicon Valley has the glummest prediction of all. "If I were to look at a crystal ball, I don't think the world's going to need as many coders after 2020. Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI."

      Bwahahahahahaha! Oh damn, we can't even get our chat bots working reliably (we use them to auto-generate bugs and tasks). And in three years they're going to be replacing programmers? Fucking priceless!

      --
      Irony: Agile development has too much intertia to be abandoned now.
    3. Re: Short sight by serviscope_minor · · Score: 4, Insightful

      There are lots of fields where C++ is still king.

      Anything requiring speed and expressivity.

      And that's a shame, because it's a crock of a language.

      I find modern C++ very pleasant on the whole.

      --
      SJW n. One who posts facts.
    4. Re:Short sight by Kremmy · · Score: 5, Insightful

      Ultimately, the big problem is that I don't see a real universal contender for high-performance native code taking over from C/C++. There are a lot of promising languages, but at the moment, nothing is really taking off. Simple inertia is pretty hard to overcome, as it turns out.

      The whole reason that people claim C/C++ are dying or going out of style is that they are entirely disconnected from this point. They explicitly overlook the fact that the languages they are always citing are written in C/C++ and rely to an extreme degree on libraries written in C/C++ even when they manage to self-host the languages. It's an ignorance of what the tools they are using actually are.

    5. Re:Short sight by Anonymous Coward · · Score: 2, Insightful

      We wrote a language that is a subset of C, wrote a wrapper for all the APIs that are in C, wrote a wrapper for all the libraries that are in C/C++, then used a compiler written in C to compile the compiler, which is of course in C or C++, on an operating system that was written in C. We plan to make this a standard by making it mandatory or almost mandatory on this one platform we have control over, and that became popular by supporting C.

      Looks like C is dead!

    6. Re: Short sight by Anonymous+Brave+Guy · · Score: 4, Interesting

      Anything requiring speed and expressivity.

      I wouldn't even say those are the big advantages of C and C++ any more.

      It's a relatively rare application these days that needs the kind of raw speed you can't achieve with other mainstream languages yet which relies on C or C++ for its performance-critical logic rather than either dropping to assembly (or linking to someone else's library that probably does) or resorting to some form of parallelism. I'm certainly not saying that set is empty, but it's probably getting smaller by the year.

      As for expressivity, if you mean how easy it is to express any particular idea in code, C and C++ are relatively weak compared to many other mainstream languages today. They lack many convenient language features widely available elsewhere, and their standard libraries aren't exactly broad and full-featured so you have to bring in additional dependencies to do almost anything useful.

      The area where C and C++ still shine compared to almost anything else (and I realise this might have been what you meant by "expressivity" instead) is the low-level control. You can deal with memory and ports and interrupts and so on very transparently in these languages, and they have a very lightweight runtime with minimal dependencies that makes them suitable for use in things like systems programming and writing software for embedded devices with limited resources.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    7. Re: Short sight by Anonymous Coward · · Score: 0

      Through, game industry is very shitty employer with people leaving the industry in like two to five years. It also pays less.

    8. Re:Short sight by Z80a · · Score: 1

      Someone has to write the interpreters/compilers for java or .net.

    9. Re:Short sight by TheRaven64 · · Score: 5, Insightful
      Let's look at some examples of things running on a typical computer:
      • Operating system: If it's *NIX, mostly C with some C++. If it's Windows, then mostly C++ with some C.
      • Web browser: Chrome, Firefox and Edge are all written in a mixture of languages, with C++ being the dominant one.
      • Office suite: Microsoft Office, Open/LibreOffice, and KOffice are all mostly C++.
      • Video and music player: The UI is often C# or Objective-C, but the code that handles the file metadata parsing, decoding, and playback is all C or C++, depending on the platform.

      Yup, sounds like the entire world has gone to Java or .NET to me...

      --
      I am TheRaven on Soylent News
    10. Re: Short sight by jellomizer · · Score: 2

      Speed is becoming less and less of an issue. As computers are getting faster all the time. But we get sectors who reach "good enough" speed every day. And then can start focusing on other problems that language like C and C++ may not handle as well. My biggest problem I have seen is deployment and change control. Being able to safely test out alpha/beta code safely on production data with real world usage. A lot of this stuff is under business processes. But there should be more tool and environments that allow for a more dynamic deployment process.
      Your code may be 10% faster, but if it down 4 days a year for updates then all that performance is wasted.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    11. Re:Short sight by CaptnCrud · · Score: 1

      No Kidding, after starting in php, then Perl, now Python you start seeing a pattern...and if you have to work on something like solaris thats posix certified its almost guaranteed when you download something from cpan its going to be fucked and you're going to have to fix a line or two in c++ which in turn might screw with some other dependency that's casting something wrong or a bogus condition is triggered...i'm seriously considering just becoming a c++ programmer and cut the middle man out....

    12. Re: Short sight by Anonymous Coward · · Score: 0

      and yet there are applications where it matters. These are the things of infrastructure on which your dum arse relies for watching pr0n and FB-ing your time away. This is not to say that c++ is the one and only. There are other options - you can even write fast java, reliable and robust if you wanted to. The speed is in the code.

    13. Re: Short sight by Anonymous Coward · · Score: 5, Insightful

      Speed is becoming less and less of an issue. As computers are getting faster all the time.

      People have always been saying that, and it was never true, and still isn't.
      Why? Because software, software stacks, entire operating systems are becoming slower all the time, eating up all those resources that your newer computers are capable of.
      It has always been this way, and people like you have always been wrong.

    14. Re:Short sight by Hognoxious · · Score: 1

      +1 Yo dawg

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    15. Re: Short sight by angel'o'sphere · · Score: 4, Insightful

      C++ meanwhile supports basically everything other modern languages provide.

      You seem to be stuck in 1998 or something ...

      C and C++ are not the same thing, so making a very long statement about both of them is most certainly always wrong for one of the two languages.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    16. Re: Short sight by Anonymous Coward · · Score: 0

      Yeah for "Enterprise" software it's mostly java and .net.... mostly

      The problem is that a lot of People who work in "Enterprise" are really deluded and think "Enterprise" is like superior and stuff....

      Ok I work on "Enterprise" software and really we just blow 10 times the money to do the same thing because of big company politics, stupidity and group think.

      Because of this delusion they tend to think of everything in their bubble. They think they are the elite because they work for a big and powerful MNC but is more like a "zoo". In that world a significant number of people they think everything is java and .net.

    17. Re: Short sight by Anonymous Coward · · Score: 0

      10% are 36 days so 4 days downtime is not that much

    18. Re:Short sight by angel'o'sphere · · Score: 5, Insightful

      Those "how popular a language" is topics are not really relevant.

      Most languages more or less work the same, the details and flaws are mostly in the libraries (see PHP) or in some niche corners of automatic type conversions (see JavaScript and also C).

      Bottom line it does not really matter if you write Java or C++. A competent programmer should learn the other language in a day or two and get good in it in a few weeks or months.

      Of course there are edge cases. I don't expect everyone to become super fluent (quickly) in SQL, Smalltalk, Groovy or Lisp or Prolog or Haskell, OCaml or COBOL or Fortran.

      However: even if you are not fluent in any of those languages, with a little bit of intelligence you should be able to fix simple bugs. Writing a new program from scratch is obviously more difficult. Look at COBOL e.g. with its "strange" PIC data layouts and so many "divisions". I mean I fixed a bout 1M lines of code in COBOL for Y2K faults, however I could not really "write COBOL".

      Kotlin is around about 5 or 6 years, not sure. I don't see a big advantage over Scala or Java 8, probably easier than Scala as it is closer to Java. However the company, JetBrains, offers Kotlin to JavaScript and native code compilation. Kotlin to native could be interesting on Android, on other platforms I fear they don't have the cross platform libraries (GUI, Networking etc.)

      But the regional dean of Northeastern University-Silicon Valley has the glummest prediction of all. "If I were to look at a crystal ball, I don't think the world's going to need as many coders after 2020. Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI."

      This is actually true. I wrote a "spec" (as in heavy formalized use case descriptions) to Java/Groovy source code "converter" about 10 years ago. It was super easy to make proof of concept prototypes.

      Look e.g. at https://cucumber.io/

      However you are right, too. Programming/programmers wont go away for the foreseeable future and most likely never.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    19. Re:Short sight by angel'o'sphere · · Score: 1

      They explicitly overlook the fact that the languages they are always citing are written in C/C++ and rely to an extreme degree on libraries written in C/C++ even when they manage to self-host the languages. It's an ignorance of what the tools they are using actually are.
      This is not ignorance but irrelevant.

      How many people are working right now in C++ on the Oracle Java VM?
      And how many people are working in Java, Kotlin, Scala, Groovy with that VM?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    20. Re: Short sight by Anonymous Coward · · Score: 0

      First time someone told me that was because a 486 was a dream CPU.

    21. Re: Short sight by Anonymous Coward · · Score: 0

      Also, I would add that hoping that more powerful hardware is going to solve your speed issues tells a lot about your professionalism.

    22. Re: Short sight by K.+S.+Kyosuke · · Score: 1

      C++ meanwhile supports basically everything other modern languages provide.

      I'm still waiting for a decent object system (at least on par with CLOS) and syntactic abstractions (having two very different languages in one - "runtime" language and "template" language - means not only code duplication but also room for errors and obviously twice the learning).

      --
      Ezekiel 23:20
    23. Re:Short sight by Freischutz · · Score: 2

      They explicitly overlook the fact that the languages they are always citing are written in C/C++ and rely to an extreme degree on libraries written in C/C++ even when they manage to self-host the languages. It's an ignorance of what the tools they are using actually are. This is not ignorance but irrelevant.

      How many people are working right now in C++ on the Oracle Java VM? And how many people are working in Java, Kotlin, Scala, Groovy with that VM?

      What exactly are you trying to say? That C/C++ really is dying? I was told 20 years ago that C is dying. C is still around and I'm coding C as well as C++ for that matter. If anything my employer has more jobs coding C and C++ than there are qualified applicants. Now I'm being told that C++ is dying by some troop of clowns that call themselves a 'job leadership consultancy'. My only remaining question is: Does Netcraft confirm this startling revelation that C++ is dying?

    24. Re: Short sight by K.+S.+Kyosuke · · Score: 1

      C++ achieves very high speed mostly thanks to micromanagement and hand-holding. Doesn't mean it's the only option. Obviously, that doesn't also mean that a C-level language can be replaced completely...but there's still room for gaining performance by means of code transformations on a higher level without sacrificing modularity (some people have done such things in C++ - I think Blitz++ is a canonical example - but it's a PITA to do this in an inadequate language like C++) rather than through micromanagement and hand-holding.

      --
      Ezekiel 23:20
    25. Re:Short sight by K.+S.+Kyosuke · · Score: 1

      They explicitly overlook the fact that the languages they are always citing are written in C/C++ and rely to an extreme degree on libraries written in C/C++ even when they manage to self-host the languages.

      Well, Common Lisp mostly isn't (CLISP and ECL admittedly are, but they're merely convenient implementation options).

      --
      Ezekiel 23:20
    26. Re:Short sight by Anonymous Coward · · Score: 1

      Agree - C/C++ is the only good way to get realtime without doing Assembly.
      When you have timeouts on the order of milliseconds, garbage collected languages are not feasible.

      What about Haskell, R, Clojure, Scala, Perl, Ruby, PHP, and Python?

    27. Re:Short sight by K.+S.+Kyosuke · · Score: 1

      C/C++ probably rule when taking the number of installations into consideration, but I wonder how the situation would look if you looked at "unique lines of code", if you know what I mean.

      --
      Ezekiel 23:20
    28. Re: Short sight by Anonymous Coward · · Score: 0

      C++11 and later are very powerful once you understand lambdas and the features of the header.

    29. Re: Short sight by Anonymous Coward · · Score: 0

      Slashdot ate my <algorithm>

    30. Re:Short sight by Anonymous Coward · · Score: 0

      Yep. One wonders how they are going to the .net and java interpreters written... Neither can be done in .net or java.

    31. Re:Short sight by Svartalf · · Score: 2

      Which makes them quite the Tool.

      This doesn't even get into the reality that 70% of all the "computers" are embedded beasties...all those "IoT" processors and the bulk of them are programmed in C or C++. A Node.JS or Python option is available, but neither of those are what you'd call "secure". You might be able to get Go to "go" onto those platforms or Swift- but they're a bit largish and don't really target the small stuff.

      The remark about .Net or Java means they're a real Headupassian. No clue whatsoever what they're managing- and it sadly shows.

      --
      I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    32. Re:Short sight by Anonymous Coward · · Score: 0

      I took the article as deliberate trolling -- of the old school sort. Kind of charming.

    33. Re:Short sight by OneAhead · · Score: 5, Interesting

      Let's see: C and C++ still rule when it comes to

      • High-performance computing
      • Game engines (actually just a special case of HPC - but a commercially important one)
      • Embedded computing (think IOT)
      • Things that necessarily have to work low level, like operating systems and compilers
      • The kinds of big software projects you're citing, of which browsers will keep or increase their importance regardless of how much the IT world "cloudifies"

      And they don't even have to take our word for it - just look at recent data figures published by the likes of GitHub and StackOverflow, which show that, while C and C++ are not dominant, they're pretty stable, and very miuch alive and kicking.

      So that leads to the hypothesis that the statement comes from someone who doesn't have a clue what they're talking about. And yes indeed: "the president of one job leadership consultancy" is basically a motivational speaker with a one-person company featuring a poorly chosen name and a not-all-too-professional-looking website. Seems to me that "one InfoWorld journalist" decided to give a friend of a family member a big, free publicity boost by interviewing her on something she doesn't know the first thing about.

    34. Re:Short sight by OneAhead · · Score: 1

      Misformatted link in previous post that was auto-sanitized by slashcode.

    35. Re:Short sight by F.Ultra · · Score: 2

      Watch out, according to TFS you (and apparently me as well since I'm a C dev) will be having the same hard time finding jobs as Cobol programmers are having today. I wonder if that is why even the old retired folks with Cobol experience are coming back to the workplaces...

    36. Re: Short sight by 110010001000 · · Score: 1

      "Dropping to assembly"?

      "You can deal with memory and ports and interrupts and so on very transparently in these languages,"

      Um, what? What does C++ have to do with memory/ports/interrupts? What are you talking about?

    37. Re: Short sight by 110010001000 · · Score: 1

      Wrong. Computers aren't getting faster and faster. Moores Law is dead. You will only see incremental improvements. This isn't the 90s.

    38. Re:Short sight by chris_osulliva · · Score: 1

      +1 C/C++ aren't going anywhere and its tough to find good C/C++ coders. they have good opportunities in silicon valley and financial sector. and embedded systems aren't sexy, but not going anywhere.

    39. Re: Short sight by angel'o'sphere · · Score: 2

      C++ has an object system modeled after Simula, with virtual and non virtual methods and multiple inheritance.

      In CLOS you have to program your generic functions to dispatch method resolution yourself. I would not call that "better".

      Why you see code duplication is beyond me. You use one feature to implement one aspect ... and you hardly have to reimplement that aspect in "the other world" again, why would you?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    40. Re:Short sight by angel'o'sphere · · Score: 1

      What exactly are you trying to say?
      That the parent is wrong in choosing his arguments.

      That C/C++ really is dying?
      No, but his arguments are wrong.

      If anything my employer has more jobs coding C and C++
      Then give me a link :D I would love to do decent C++ work again. (Not managed C++ on .NET, though)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    41. Re: Short sight by K.+S.+Kyosuke · · Score: 2

      C++ has an object system modeled after Simula, with virtual and non virtual methods and multiple inheritance. In CLOS you have to program your generic functions to dispatch method resolution yourself. I would not call that "better".

      It is better if Simula is not what you want. Simula doesn't even have bog-standard multiple dispatch, not to mention any of the advanced features. Whether you need to add your own method selection code is another thing, but in C++ you can't even if you need to for your application so it clearly loses. Repeating yourself in boilerplate snippets just because you can't offload it into language logic doesn't seem preferable for actual large-scale programs. (For instance, I have a large-scale symbolic algebraic system in mind that could reap great benefits from this.)

      Why you see code duplication is beyond me. You use one feature to implement one aspect ... and you hardly have to reimplement that aspect in "the other world" again, why would you?

      D people have already gone down their own "CTFE" (as they call it) road. Clearly Alexandrescu et al. thought that there is a deficiency if your compile-time code looks completely differently from your run-time code.

      --
      Ezekiel 23:20
    42. Re: Short sight by Anonymous Coward · · Score: 0

      C has compiler intrinsics, where you can use specific assembly instructions, without dropping into assembly.
      Also C is one of the few languages that has embedded assembly.
      Neither of these features are in the standard C language, but they have become standard in many C compilers, up to the point that they use the same standard.

      If you want to talk about an explicit language feature for dealing with memory/ports/interrupts is the 'volatile' keyword, which makes sure that the instructions emitted by the compiler will not cache the memory access, nor reorder them. (Although the CPU can still reorder them).

      Most C compilers allow you to set memory alignment on members of structs in memory, which is required to get specific memory access for controlling hardware. Also you can specify the function-call-standard, which allows you to write interupt 'functions' that can be directly called by hardware.

    43. Re:Short sight by K.+S.+Kyosuke · · Score: 1

      Things that necessarily have to work low level, like operating systems and compilers

      I'd buy operating systems but not compilers, unless you're talking about time-sensitive JITting VMs. For an (ahead-of-time) compiler, the prime considerations are advances algorithms - correctly implemented -, and managing the sheer size of the whole thing. Writing it in a higher-level language than C might actually be preferable. And emitting the resulting stream of bytes into a file definitely isn't something you can only do in a pure C program. It is "low level" in a sense but not in the same sense as many other things such as device drivers.

      --
      Ezekiel 23:20
    44. Re:Short sight by Xyrus · · Score: 1

      C++ employers will be employable in the videogame industry for the foreseeable future, at least.

      Not particularly. Fewer and fewer games are using their own hand built game engines. They rely on third party engines, then customize using whatever scripting/managed language they provide. Yes, you till need C/C++ programmers to write those engines but every game house no longer requires those programmers to be on staff.

      C/C++ aren't going away anytime soon, but they aren't going to be the primary choice for new development either outside of a couple of domains. Over the past couple of decades it's been pretty obvious. When I see new projects roll in, they're pretty much have .NET/Java as a requirement with Python sprinkled in every so often. The only time I see C/C++/Fortran anymore is for maintenance related projects.

      --
      ~X~
    45. Re: Short sight by murdocj · · Score: 2

      When I used C++ I found it to be an interesting but ultimately failed experiment in layering OO on top of C. The end result was that the traps of C (invalid pointers etc) were still there, but now hidden under layers so that they were harder to detect / fix. For example, adding an element to one of the STL container classes could cause a reallocate, rendering any "references" that you had into that container invalid. So unlike OO languages that truly have references that don't magically become invalid, C++ has all the problems of C, except that it's far more obscure.

    46. Re: Short sight by Anonymous Coward · · Score: 0

      You're living 10 years behind. Java (and especially Scala), .NET, and even Javascript... are now better in performance in any kind of complex situations - mainly because of horizontal scalability and cheap parallelism. Sure, you can probably make quick sort that is more performant than Scala version, but how will you scale it efficiently to 200+ nodes?

    47. Re: Short sight by BarbaraHudson · · Score: 2

      Also, I would add that hoping that more powerful hardware is going to solve your speed issues tells a lot about your professionalism.

      That's the Microsoft Way, dating back to when Microsoft and IBM were working together on OS/2. Gates insisted OS/2 be written entirely in assembler, while secretly doing windows in C. He said that by the time it came out, hardware would be "fast enough." That has NEVER been true, if only because "fast enough" changes with time.

      An acceptable wait time for a query at a terminal used to be 1 to 3 seconds. Now? Acceptable "lag" is measured in microseconds in many cases. Would anyone accept a game that took a couple of seconds to register a keypress or mouse click? Or even a web page?

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    48. Re:Short sight by BarbaraHudson · · Score: 1

      Part of the problem with language rankings is that they don't measure the more intricate cases, the ones that will never be solved by a quick look at stackoverflow. The people doing the really complicated shit won't use stackoverflow, so those people are invisible. And yet the really complicated shit still gets done.

      Language rankings are bullshit if they fail to take into account the entire range of use, which in C and C++ is far more than in most other languages.

      Throw in that popularity is not a measure of utility, but of fads (javascript frameworks are a great example - they're all shit, which is why they are constantly being replaced with more shit in the hope of finding the holy grail). C isn't a fad.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    49. Re:Short sight by BarbaraHudson · · Score: 1

      COBOL programmers are having a hard time finding jobs? Bullshit. The "old retired folks with Cobol experience are coming back to the workplaces" because the money is temping enough, and you can't replace them with someone whose only programming experience is some "web-scale latest javascript framework" scripting shite.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    50. Re:Short sight by BarbaraHudson · · Score: 1, Insightful

      Bottom line it does not really matter if you write Java or C++. A competent programmer should learn the other language in a day or two and get good in it in a few weeks or months.

      Hahahahaha. Want good C/C++ code? Get a good C/C++ programmer. Want good Java code? Get a good C/C++ programmer.

      The path from Java to C is all uphill - especially if you're not used to managing your own memory, or pointers to arrays of pointers, or macros, or conditional defines, etc.

      Next you'll be saying that Windows admins can make good *nix admins. Do you also do stand-up comedy at the local bar on Saturday nights? Because you're really cracking us up here :-)

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    51. Re:Short sight by BarbaraHudson · · Score: 1

      I wouldn't use "unique lines of code" as a metric. There's tons of crappy javascript out there - which is why they keep on coming up with new, but still inadequate, frameworks - they haven't found one good enough to have a decent half-life, or people would stick with it. And they never will - it's the nature of the beast.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    52. Re:Short sight by BarbaraHudson · · Score: 1

      And emitting the resulting stream of bytes into a file definitely isn't something you can only do in a pure C program.

      Really? They were able to do it back in the days of DOS C compilers. What's changed? The various variants of seek() still work. Compilers still allow for padding in the emitted file, so you don't have to know the exact size of the code you're going to emit at any particular offset in the file, just the maximum size (and if you wanted, you were able to optimize for size instead of speed by eliminating that padding). Go look at a binary with a hex editor - you'll see the extra space.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    53. Re:Short sight by Anonymous Coward · · Score: 0

      Russians say Java is shit spaghetti - but for money -they put up with it.
      Java wins because big contracts are won on the false assumption that BA specs are easy and complete - so cookie cutter project bid acceptance at the lowest price wins.

      Java: Refactoring - err re-writing shit code keeps many employed
      Java is also not well known for security aspects either, thus ideal for slop churn it out apps - where rework is always on the cards.

      Ask which is more important, sales, or corporate data?
      Churn out a look like Amazon website or boring forms - OK
      Java is no good at big data, nor do business specs cover data (OK Google and Amazon really get it) but more rubbish corporate apps lack input edits.

      At least if someone has C, they can do more than visual programming, assuming they pass a test first. Bonus if they talk a lot about data as well.

      Bottom line is big contracts are often NOT written in the best language, but the one with the biggest (cheap) talent pool. It will be a while before quality comes back to first, not cheapest.

    54. Re:Short sight by Anonymous Coward · · Score: 0

      Hell - I was forced to learn COBOL and copybooks this year. I thought that was dead - tried to make the argument but the work needed to get done.

    55. Re: Short sight by Anne+Thwacks · · Score: 1
      Computers are about to get seriously slower as nutjob PHBs start to believe this tosh and insist the new OS is coded in .NET.

      Yes, I know PICK was written in Basic - but that was before common sense was invented.

      Treacle lovers unite - Make a mad hatter very happy and write an entire embedded OS for an 8 bit micro in javascript.

      --
      Sent from my ASR33 using ASCII
    56. Re: Short sight by w3woody · · Score: 2

      The two problems with C++ are the fragile binary interface problem, and the lack of memory management beyond 'new' and 'delete'. The latter can be resolved by creating a base class which provides reference counting and automatic deallocation. The former, however, cannot be easily resolved since virtual methods in C++ are dispatched by going through a virtual method table with fixed offsets (meaning adding new virtual methods may alter the index where a method entry point is dispatched), and the size and offset of fields within a C++ class are accessed directly in memory rather than indirectly through a virtual dispatch process.

      It's not to say the fragile binary interface problem cannot be solved in C++, but it would require rethinking the current virtual method table used by most C++ compilers, as well as rethinking how fields within a base class are accessed.

      The problem here, however, is that this would slow down both field access within a C++ class, and it would slow down method dispatch. (To fix fields you'd either need to dynamically calculate the offset of variables within a C++ class or rewrite all field accesses as 'getter' and 'setter' methods, both of which take more time than simply pulling data out of a memory offset. And to fix the virtual method dispatch table you'd need a way to resolve a method name to the index in the dispatch table, making the first invocation of a method fairly expensive even if the offset in the dispatch table for subsequent dispatches are cached.)

      From what I understand, the designers of C++ have opted not to do these things, rightly arguing it slows down method dispatch and field access.

      Don't get me wrong. I love C++. I believe C++ (and to a lesser extent, C) both have their uses. I don't think we'll be rewriting operating system kernels or device drivers in Ruby or Java anytime soon, nor do I think we'll be building small footprint embedded applications in those languages.

      But like all programming languages, C++ has its limitations, and denying those limitations seems very silly to me.

    57. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      C++ meanwhile supports basically everything other modern languages provide.

      Here are a few useful language features that are available in some other modern languages but not in C++:

      • First-class functions and closures
      • First-class structured data like sets and maps
      • Algebraic data types and pattern matching
      • Guaranteed tail call elimination
      • Hygienic macros, monkeypatching, reflection, and other metaprogramming tools

      C++ does provide more limited alternatives to some of these, via the standard library or external libraries. However, because of the historical baggage, you still can't fix the awful syntax even then.

      C and C++ are not the same thing, so making a very long statement about both of them is most certainly always wrong for one of the two languages.

      That doesn't follow at all. Obviously the languages differ significantly, but fundamentally they have many of the same strengths and weaknesses that make them either suitable or not suitable for any given programming job. C and C++ have far more in common with each other than either of them has with a heavy runtime language like C#, a dynamic language like Python or a functional language like ML. Which of C and C++ you choose is typically more about whether you prefer the relative simplicity and transparency of one or the additional expressive power from the language features of the other.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    58. Re: Short sight by angel'o'sphere · · Score: 1

      While you are right on an academic stand point, C++ (as any other language) offers you to use design patters. The "multiple dispatch" problem is usually tackled with variants of the "visitor pattern".

      D people have already gone down their own "CTFE"
      I will dig into that :D thanks for the hint. Considering that Walter Bright is a "relative in law" with me basically I should perhaps meet him once.

      Clearly Alexandrescu et al. thought that there is a deficiency
      No idea what you are talking about, any links? I have some books about generic programming from him (templatemeta programming in C++, obviously). His PhD Father was for a while Professor at my university (KIT Karlsruhe), but moved then to Kaiserslautern.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    59. Re:Short sight by Anonymous Coward · · Score: 0
      Someone has to write the interpreters/compilers for java or .net.

      No need for humans - let the monkeys do it. Sure you might need quite a few, but they are much cheaper than competent C programmers.

      --
      Signed: A PHB.

    60. Re: Short sight by Anonymous Coward · · Score: 0

      "The entire world has gone to Java or .Net." bhahahhahaahhaha. bahahahahahhah.

    61. Re:Short sight by angel'o'sphere · · Score: 1

      I taled about C++, not C.

      And there is no uphill path to C, it is down hill. C is a second generation language, a portable assembler (designed as one). No idea why people brag about it. You can make big mistakes in it, which you can't do in Java. That is no reason to brag about being able to program in C. Everyone can do that.

      Next you'll be saying that Windows admins can make good *nix admins.
      Barbara Hudson, we all know you are an idiot. And phrases like this makes it blandly clear. There are no windows admins. There are only "if X then Y" memorized trouble fixers. Windows does not work. Fixing it makes you not an admin. Unix does work. You have - actually very simple concepts - that work orthogonally together. If you have to fix something it is usually obvious. You don't need a special "certificate" but just common sense to fix a unix machine. No idea why you wrote that nonsense.

      especially if you're not used to managing your own memory, or pointers to arrays of pointers, or macros, or conditional defines, etc.
      All those things are super simple and in case of memory management a waste of time.

      A typical C program uses up 30% of its CPU time in memory management.
      And also 30% of its bugs.

      A typical Java program uses up about 5% of its CPU time in memory management, and usually around 1% of its bugs (or one at all).

      Go figure ...

      And that has nothing to do with "my skills" in C++ or Java.

      Ah, and if you need links, google for Eiffel and Bertram Meyer ... he made big investigations about C/C programs and memory usage and bugs related to it when he published his language Eiffel.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    62. Re:Short sight by michael_cain · · Score: 1

      Most languages more or less work the same, the details and flaws are mostly in the libraries...

      The libraries are always the time-consuming part to learn. Or perhaps more accurately, the interfaces to the libraries. Most experienced programmers will have encountered the situation where it's the same C/C++ library underneath, but the interfaces from Perl or Python or some other script-y language are all different in terms of details.

    63. Re:Short sight by Anonymous Coward · · Score: 0

      [C++] continually shows up in the language rankings as a steady #3 to #7 or so, depending on how language "popularity" is figured.

      It hasn't been one language over those years. The standards committee has been active in important ways (channels, lambdas, smart pointers and std::move), and the compiler quality gas gone way up (rvalue optimisation, low-cost exceptions, happens-before, FDO).

      I don't see a real universal contender for high-performance native code taking over from C/C++.

      I think people have misconception that "translation overhead" is the downfall of other languages compared to C++ and that C++ is "closer to assembly." Less boxing of data types and no dynamic type checking, inlining, and modifying data in place are probably more important. The gains are not only speed, but also memory: more compact data structures, quick deallocation.

      so that's nice. But the "closer to assembly" aspect pans out as large companies employing a wizard caste that builds custom thread or epoll adapters attempting to get a competitive advantage, or endorses a reasonable subset of Boost that trades benefit for learning curve. That is not so nice because the language is delivered in a form much worse than it's judged by its biggest proponents, enabling all kinds of motte and bailey advocacy.

    64. Re: Short sight by Octorian · · Score: 2

      The problem is that a lot of People who work in "Enterprise" are really deluded and think "Enterprise" is like superior and stuff....

      Its more like they think their "Enterprise" realm *is* the entirety of software development. Their entire view of software is the components that fit together inside their enterprise runtime containers.

    65. Re: Short sight by Anonymous Coward · · Score: 1

      This really is the crux of the issue. As computers have had more resources available it's been used as an excuse to allow coders to be lazy. Yeah, SOME of the resource consumption has come from increased complexity but a large portion has been lost to simple inefficiency.

      And while there are plenty of people that feel things like Java or C# are "good enough" ruining efficiency, there's also a lot of C/C++ coders that overestimate how good they are. There are thousands of bugs that wouldn't exist if they had been written in one of those less efficient but safer languages. Which is worse?

      Ultimately the opening article is wrong for assuming that C/C++ is going to be replaced by C#/Java. That's falling into the "good enough" mindset that's been forcing people to upgrade computers just to get the same features they already have. If anything is going to cause C/C++ to go the way of COBOL it's going to be something in the vein of Rust or Swift. That's not to say that they're better than the C's, just that they have the benefit of decades of advancement in programming languages. C/C++ can do anything, something like Rust is capable of matching it with the additional benefit of some of the guarantees offered by interpreted languages.

    66. Re: Short sight by serviscope_minor · · Score: 2

      It's a relatively rare application these days that needs the kind of raw speed you can't achieve with other mainstream languages yet which relies on C or C++ for its performance-critical logic rather than either dropping to assembly (or linking to someone else's library that probably does) or resorting to some form of parallelism. I'm certainly not saying that set is empty, but it's probably getting smaller by the year.

      Well, I tend to write those libraries. No one I know drops to assembly any more for performance reasons. The compilers are better than most people at scheduling instructions. Especially as you can use non standard things like branch hints, pointer de-aliasing and SIMD intrinsics from the comfort of C++.

      Thing is, once you're writing a big chunk of the code in C++, why not write the wrappers in that too? It's a pretty good language for that sort of thing now.

      As for expressivity, if you mean how easy it is to express any particular idea in code, C and C++ are relatively weak compared to many other mainstream languages today.

      Linking together C and C++ like that in one line makes it look like you don't really know much about C++, especially modern C++. It's a very different language from C and powerful. It's quite library writer friendly meaning that skilled people are given a lot of power to put together very nice libraries which are then very easy to use.

      They lack many convenient language features widely available elsewhere,

      Like what?

      and their standard libraries aren't exactly broad and full-featured so you have to bring in additional dependencies to do almost anything useful.

      Yes and no. It's true that C++'s standard library could use some love. That said, it's particularly good on the side of algorithmic code, and doing that sort of work I find myself missing it when using other languages. But a lot of stuff isn't there, still. On the other hand, external dependencies are pretty common in most projects of any size, so I'm not real

      --
      SJW n. One who posts facts.
    67. Re:Short sight by Anonymous Coward · · Score: 0

      The entire world has gone to Java or .Net

      *cough* What a crock of shit.

      Exactly. What does this bozo think the JVMs are written in - bash script???

      Id10t.

    68. Re:Short sight by Neuronwelder · · Score: 1

      I second that motion!!

    69. Re:Short sight by Anonymous Coward · · Score: 0

      Honestly there is a potential replacement for C/C++ in Rust. It's still young and isn't going to replace them entirely (C will be around forever, like COBOL). There's something to be said though for a language that combines many of the nice guarantees of interpreted languages with the capabilities of system languages. It's also written in Rust, negating the common argument "Well it's written in C so it doesn't count"

    70. Re: Short sight by serviscope_minor · · Score: 1

      The two problems with C++ are the fragile binary interface problem, and the lack of memory management beyond 'new' and 'delete'.

      Binary interface problem yes, though with a bit of care it's not bad, especially if you use the extra tools the linker gives you. The memory thing: u wot m8?

      If you're using new and delete a lot in C++ code, then you're pretty much stuck in the 1990s, and not in a good way. In remotely modern idiomatic C++ you should pretty much never see new and delete. I can't remember the last time I used one which wasn't deep in the guts of a library.

      If you're doing so, you're likely making life much harder for yourself and will likely suffer from leaks, use after free and all that.

      --
      SJW n. One who posts facts.
    71. Re: Short sight by serviscope_minor · · Score: 2

      First-class functions and closures

      From Wikipedia:

      In computer science, a programming language is said to have first-class functions if it treats functions as first-class citizens. Specifically, this means the language supports passing functions as arguments to other functions, returning them as the values from other functions, and assigning them to variables or storing them in data structures.

      You can do all of those in C++.

      First-class structured data like sets and maps

      What do you mean first class? We've had food sets and maps in the STL since about 1994 when it was still called the STL and published by SGI. The recent changes in C++11 have improved the syntax a bit. But you're going to have to do a better job of defining first-class in this case other than simply "built in".

      Guaranteed tail call elimination

      I guess...

      and other metaprogramming tools

      It has a complete language which runs at compile time, and with constexpr, you can now write stuff that looks like actual C++. The metaprogramming is certainly weaker than Rust or D (and some other languages not in the same general class), but C++ certainly does have metaprogramming tools.

      You're still making C and C++ sound far more similar than they are. in practical terms, modern C++ look more like C-syntax python than it does C.

      --
      SJW n. One who posts facts.
    72. Re: Short sight by Anonymous+Brave+Guy · · Score: 2

      Yes, I agree that C++ (and C) are still good choices for the kind of work you described. I've worked on some of those too, and there wouldn't have been many other viable choices for those jobs. I just think the number of jobs where this is the case is trending downwards.

      In particular, I think it will trend down sharply if and when we reach the point that higher level languages with more expressive semantic models can be compiled to run more efficiently on the relevant hardware than C or C++ code that is written closer to the metal. I see this as directly analogous to the situation with C or C++ compared with assembly language today: it is self-evident that assembly language could equal or better anything that C or C++ compiled to the same level could do in performance terms, but only if whoever is writing that assembly code is better at it than a modern C or C++ compiler, which is rarely going to be the case these days. Particularly with parallel execution and the complications of shared state, aliasing, etc, I don't think this situation is unrealistic, though it's difficult to gauge how close we might be to achieving it in practice.

      I'll address your other points in reply to your other comment a bit later.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    73. Re:Short sight by gweihir · · Score: 2

      Indeed. It may be true that coding jobs on low skill level are often Java these days, but C is not vanishing at all. For example, I recently built a custom security filter component for a customer and while in theory it is possible to do this in Java (I think), it would be a lot of additional effort, the component would not perform well and maintenance would be a nightmare. Before that, I build a simulation tool, and again, nothing but C would do the job well for the core algorithms. Glue-code should of course be something else, but most certainly not Java (I uses Python, because embedding C in it works really well).

      The bottom line is, and has been for a long time, that actual professionals know a lot of tools and use the best one for the job, while amateurs and low-level technicians (and web-coders usually fall in that class) use the hype-du-jour. And professionals find that there is a set of tools that never become obsolete. C is among them, C++ likely as well (although the language design is significantly worse than C) and Python, Perl, Ruby will also stick around. So will Haskell, come to think of it. Now the thing is, none of these is are languages that you can competently use unless you have significant experience and talent and relevant education. The software manufacturing segment that just want to make everything even cheaper will not employ these tools, because people that are good at using them are rare and expensive. Long-term, they are worth the money spend several times over, but (and that is the second problem) with the MBA-cretinization of management, nobody but really good managers take the long-term view anymore.

      The people making these statements are all in the low-cost, low-skill segment. That is good for making a few people rich in straw-fires, but sustainable software development looks differently. They just likely have never seen it. I do agree that technician-level coders (i.e. solve known problems with known methods in known ways) will not have good job prospects longterm (which makes all these "learn to code" initiatives so braindead), but as soon as you are an actual engineer, that is not going to apply.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    74. Re:Short sight by rocteur · · Score: 1

      Crock of shit indeed... for all the reasons already outlined in the comments..

    75. Re:Short sight by Anonymous Coward · · Score: 0

      Someone has to write the interpreters/compilers for java or .net.

      Word.

    76. Re: Short sight by gweihir · · Score: 1

      Actually, it is C that is king. In C++ it is just to hard to write really efficient code. C++ is for all those things were efficiency is relevant, but not so critical. Of course, many C++ programs are just C with some extensions and never really to any significant OO.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    77. Re:Short sight by gweihir · · Score: 1

      Ultimately, the big problem is that I don't see a real universal contender for high-performance native code taking over from C/C++. There are a lot of promising languages, but at the moment, nothing is really taking off. Simple inertia is pretty hard to overcome, as it turns out.

      I do not see this being inertia at all. The aspect that gives you speed in C (and less so in C++) is control. You decide about memory management, details of calculations, etc. You decide which safety-features can be left out. You do this understanding the problem you solve. No compiler will ever be able to come close, unless we get strong AI and that is looking very unlikely today. Hence all those "promising" languages will not be able to compete either. They will just allow more bad coders to produce more bad code because a whole army of stupid "managers" does not understand that tools cannot make bad coders turn out good code.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    78. Re: Short sight by Bite+The+Pillow · · Score: 1

      C# has NGEN, which takes out the JIT compile and makes native code. There's a folder full of these, so it is a space tradeoff. But speed is hardly a problem for C#. And I believe Java can be compiled to native code as well.

      If you need performance, it is likely you have a bad algorithm, or are misusing the language, like not using a string builder.

      And you can always switch to C/C++ for a true native DLL for anything that needs it.

      The stacks are getting faster, if you know how to use them. Not realizing how your ORM translates your request, and making it iterate and transform the results more than once, is a developer problem to be solved by education.

      Yes in general the OS gets bloatier, and Windows definitely sucks more. But that's not much impact to custom code. Especially running on a headless server with the bare minimum install.

    79. Re:Short sight by Anonymous Coward · · Score: 0

      >> The entire world has gone to Java or .Net
      > *cough* What a crock of shit.

      Maybe it doesn't mean that C/C++ are disappearing, but that C/C++ jobs are disappearing?

    80. Re: Short sight by Ambassador+Kosh · · Score: 1

      The interesting thing is that computers are getting much faster at certain types of tasks but not faster at others. For straight sequential code performance peaked a while ago without fundamental changes to the materials we use to make chips and probably even the fundamental technology. However, if your code can be heavily vectorized and threaded then modern cpus have an enormous performance advantage over older cpus. The problem is that using the performance on a modern CPU is HARD. I mean ridiculously hard and it requires a lot of experience and education on how a CPU works.

      --
      Computer modeling for biotech drug manufacturing is HARD! :)
    81. Re: Short sight by Anonymous Coward · · Score: 0

      Ok, how about this: speed is becoming less and less of an issue as most CPU-intensive tasks required by scripting languages use compiled components that are just as fast as C, so the actual slower interpreted parts are a negligible part of the running time.

    82. Re:Short sight by ShanghaiBill · · Score: 1

      They are not paid well because they are "Cobol programmers" but because the are experts in the particular application they are hired to work on, most often because they wrote it.

      If just knowing Cobol was enough to get a well paid job, then plenty of people would do so since it is a very easy language to learn.

    83. Re: Short sight by Anonymous+Brave+Guy · · Score: 2

      You can do all of those [first-class function treatments] in C++.

      You can emulate the function treatments using function pointers in basic cases. It's really not the same as using a language designed to support a more functional programming style from the start, though.

      The STL had the right sort of idea, but there's a big difference in the level of expressive power between the standard library containers and algorithms and iteration patterns offer in C++, even used with more recent language features like lambda expressions, and features like folds and traversals or combinators and computation patterns in a language like Haskell that specialises in this style of programming.

      If you haven't come across some of those functional programming concepts, you can just compare the breadth and depth of algorithms for navigating and transforming data structures that you get out of the box in C++ and in Haskell. In C++, you get tools like std::transform, which is essentially what most functional languages would call map, a useful but entry-level algorithm. In Haskell, you get tools like mapAccumWithKey, which represents visiting each key-value pair in a map in ascending order of keys, transforming each value according to some rule, and accumulating some state along the way, which may also be used to influence later transformations and/or state updates. Obviously one of these captures a much more specific and powerful pattern than the other.

      In short, the languages and libraries are working on entirely different levels here. That is because it's so much easier to work with higher order functions and function composition and partial application and closures and so on in a functional programming language. It then makes sense to have both many simple utility functions and many powerful higher-order functions for navigating and transforming data structures in the standard library. If you've only got function pointers rather than true first-class functions, as in C and C++, you don't have the glue to make those kinds of tools useful in practice. Comparing modern C++ to a language that is designed to support this sort of style well is a bit like comparing 1998 era C++ and standard library algorithms with 2017 era C++, except that the gap in the first case is much wider.

      Just as a final point on this one, of course I'm choosing an extreme by putting C++ up against Haskell, but many other mainstream languages are significantly more developed in this respect than C++, even if most of them don't go as far as some of the examples I gave here.

      We've had food sets and maps in the STL since about 1994 when it was still called the STL and published by SGI.

      Sure, but again it's an entirely different (and much less powerful) level to languages with more robust support for these data structures. C++ has a useful std::map type, with an interface containing functions like begin, end and clear. Other parts of the programming world are taking nested maps, picking out a subset of the top-level map according to some predicate based on the key, value or both of each entry, flattening the structure a level, and then doing a deep merge of another similarly structured nested map with explicit rules for resolving any intersections, and again they're often doing this kind of thing with just a few short lines of code and with the basic patterns provided either via the standard library or directly via built-in language features.

      You're still making C and C++ sound far more similar than they are. in practical terms, modern C++ look more like C-syntax python than it does C.

      I think that's a bit of a stretch, but I understand your point. Nowhere in this thread have I tried to equate C and C++. I've programmed both for many years. I was part of some of the discussions on the C++ standard that led to some of the changes in more recent editions.

      Still, on a scale o

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    84. Re: Short sight by fahrbot-bot · · Score: 1

      Anything requiring speed and expressivity.

      I wouldn't even say those are the big advantages of C and C++ any more.

      It's a relatively rare application these days that needs the kind of raw speed you can't achieve with other mainstream languages yet which relies on C or C++ for its performance-critical logic rather than either dropping to assembly (or linking to someone else's library that probably does) or resorting to some form of parallelism.

      Or real-time and/or military uses. I know of several projects that use C/C++ over Java for both of those reasons.

      --
      It must have been something you assimilated. . . .
    85. Re: Short sight by fahrbot-bot · · Score: 1

      Wrong. Computers aren't getting faster and faster. Moore's Law is dead.

      Maybe it's just resting ...

      This isn't the 90s.

      It will be in 73 years.

      --
      It must have been something you assimilated. . . .
    86. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      Yes, real time is another field where the relative transparency of C and C++ are a big advantage. It's tough to have a heavyweight runtime and rely on things like garbage collection if you're literally on a clock.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    87. Re:Short sight by K.+S.+Kyosuke · · Score: 1

      Really? They were able to do it back in the days of DOS C compilers. What's changed?

      Nothing, I didn't say you couldn't do it in C (of course you can), I said you don't need C (or any other machine-oriented language) for this.

      Or did I miss something else you were trying to say? What I meant was that inside a compiler, for a considerable portion of the time, you're working with information at a much higher level than what is "natural" for C. You're transducing trees, performing operations on graphs, and what not. Only after you generate your instruction sequences you need to dump them as a stream of bytes but that's about as involved as the work of a typist typing what is dictated to him. So going for C in such a complicated program merely because a small portion of the task involves some byte fiddling seems false economy. You might want something more Haskell-like. The bigger the compiler the better the higher-level language option seems to be.

      --
      Ezekiel 23:20
    88. Re: Short sight by w3woody · · Score: 1

      My examples of memory management have to do with writing user-interface code, which often creates multiple references to the same object in memory for one reason or another.

      The thing about the STL is that it tends to operate with copies of objects: if you declare a vector array of strings, the string is copied into the vector array rather than the array holding a reference to a common instance. Boost, on the other hand, solves the problem with smart pointers--essentially using reference counting, as I noted above.

    89. Re:Short sight by Anonymous+Brave+Guy · · Score: 1

      Inertia is surely a factor even so. There is no technical reason you couldn't have a language that retained the low-level control and flexibility of C while still being significantly safer, having much cleaner syntax, and including useful features that made the language more powerful but that could be implemented with no runtime overhead. But even if you did invent such a language, you'd still have to convince developers working on these kinds of applications to use that new language in preference to the global lingua franca of programming they all know already, and you'd still have to provide a way to link code written in your new language with the vast ecosystem of existing C-based libraries and APIs. That's a tall order, no matter how brilliant your new language itself might be.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    90. Re:Short sight by 0xdeadbeef · · Score: 4, Insightful

      Well, it was said by

      Elizabeth Lions, an executive coach, author, and president of Lionsology, a job leadership consultancy.

      A snake oil selling imbecile who hasn't the slightest clue about the things she talks about. Of course, we knew that when she called programmers "coders".

    91. Re:Short sight by Anonymous Coward · · Score: 0

      Good C/C++ programmers produce some of the shittiest Java code I've seen. If you need to transfer someone from C or C++ to Java (even C and C++ programmers cannot efficiently switch languages with each other), you should be picking the lower to average programmers as they'll need the least retraining. Sure, any decent programmer can pickup the syntax of another language within a week, but each language has their own more efficient style of programming which experts from other languages rarely pickup.

    92. Re: Short sight by shoor · · Score: 2

      I'm an old timer who remembers the days of the 8 bit chips like the 8080 and the 6502. Todays computers do things inconceivable back then like playing hi-res video. So I do think it's a sort of Parkinson's Law type situation where stuff fills up available resources and it's not worth it to tighten things up if you don't have to. However, that extra capability is made use of, not just thrown away. Though efficiency becomes lower and lower in priority. In the old days, we'd spend days shaving microseconds off a bit of code. Very few situations call for that anymore.

      As a linux user what I notice that bothers me a lot is that I sometimes see processes taking a long time to load, and I think it happens more than it used to. Bloated processes have to load through the bandwidth of the disk even if the processor itself is fast, but modern techniques of paging and shared libraries should minimize that. I don't know if that happens with other operating systems, and I'm actually of a mind to run comparisons with the free BSDs because it shouldn't happen. (I don't remember it happening with slackware, the most conservative of linux distros either, but I wouldn't swear to it at this point.)

      --
      In theory, theory and practice are the same; in practice they're different. (Yogi Berra & A. Einstein)
    93. Re: Short sight by Creepy · · Score: 1

      Yeah, the last C++ app I worked on had the same model due to the STL where we did reference counting and deallocation. None of this was managed by programmers like me, we called a class and it handled all the work. Speaking of STL, though, what a horrible interface. I mean, yeah, it keeps you from reinventing the wheel, but usage is a bitch and it is ugly as hell (IMO). While there are plenty of things I despise about C# and javascript (my current coding platforms, with a bit of Java and selenium automation interspersed), I can't say I miss STL at all.

    94. Re:Short sight by Anonymous Coward · · Score: 0

      What is the oracle java VM itself written in?

    95. Re:Short sight by Shoten · · Score: 1

      Which makes them quite the Tool.

      This doesn't even get into the reality that 70% of all the "computers" are embedded beasties...all those "IoT" processors and the bulk of them are programmed in C or C++. A Node.JS or Python option is available, but neither of those are what you'd call "secure". You might be able to get Go to "go" onto those platforms or Swift- but they're a bit largish and don't really target the small stuff.

      The remark about .Net or Java means they're a real Headupassian. No clue whatsoever what they're managing- and it sadly shows.

      This is very true, at least for the near future. For some solutions (like infotainment systems in cars) Java ME is heavily in use...but most IoT devices have neither the performance nor the need to do so. They're coded in C++, which means that they can use microprocessor architectures that cost a few dollars instead of dozens of dollars or more.

      The simplicity of lower-powered embedded systems benefits you when you have to deal with environmental problems like heat and vibration; you can pot a low-powered system and not worry about it overheating, but if you try to do that with something more sophisticated you run into major issues. And then there are those applications that simply require that things be tiny...not small, but tiny. All of these obviate things like JVMs and interpreted code.

      --

      For your security, this post has been encrypted with ROT-13, twice.
    96. Re: Short sight by serviscope_minor · · Score: 1

      My examples of memory management have to do with writing user-interface code, which often creates multiple references to the same object in memory for one reason or another.

      A fair bit of C++ is about ownership. The simplest model is to make whatever you need a member of the parent (e.g. an owning class or a local variable, so it's owned by the scope). If that doesn't cut it, and it can change ownership, then use a unique_ptr. If that doesn't cut it and it can have multiple owners then hold it in a shared_ptr, and use make_shared to create it.

      In the very rare case that even that doesn't cut it, e.g. it forms part of a mutable cyclic graph, then you'll have to effectively implement garbage collection on those objects. I've never had that happen to me, but I've seen a nice talk on how to do it to make it precise and efficient.

      If that sounds complex, it's not as bad in practice as it sounds. Usually you know if something needs to be shared or if it's private and local.

      The thing about the STL is that it tends to operate with copies of objects: if you declare a vector array of strings, the string is copied into the vector array rather than the array holding a reference to a common instance.

      Well, yes. We (C++ers) call that "value semantics", because things like strings and indeed std::vectors of strings behave like values, much like primitives such as int and float. The java and python model we'd call "reference semantics", for obvious reasons I think.

      Personally I prefer value semantics because I feel it's easier to think about, but it's a matter of taste. Using pointers in C++ gives you something closer to reference semantics in that copying and assignment respectively copy and assign the reference, not the object.

      --
      SJW n. One who posts facts.
    97. Re:Short sight by BarbaraHudson · · Score: 1
      Ohhhh, attack the messenger, not the message. BTW, it's possible to write programs in both c and c++ that do not leak memory. You just have to remember what your mother told you - if you take it, put it back where you got it from.

      As far as c being a portable assembler, every programming language that boils down to executable code, as opposed to interpreted byte-code, is a "portable assembler" if it can run on more than one platform. Sheesh - go buy a clue, tool!

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    98. Re:Short sight by BarbaraHudson · · Score: 1

      Syntax trees etc., are used because they are easier to implement, but not absolutely needed. Same as it's still possible to write assemblers that don't need a syntax tree. In theory, it's possible to implement even later versions of c without an in-memory tree, it's just harder than necessary. Every operation can ultimately be simplified.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    99. Re:Short sight by BarbaraHudson · · Score: 1

      Unfortunately for you, that doesn't hold true in the real world. You want shitty java, ask a java programmer. The language, because it is easier to write in, has lowered the barrier to the point where sloppy is good enough. Excessive use of synchronized is one example, and if you can't figure out why this happens, you are a prime example of my point.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    100. Re:Short sight by Anonymous Coward · · Score: 0

      C++ employers will be employable in the videogame industry for the foreseeable future

      Shit pay, shit hours, just what I want to be, professional death marcher--not 25 anymore.

    101. Re: Short sight by Anonymous Coward · · Score: 0

      What fucking runtime does C and C++ have??? Oh??? you mean they run natively?

    102. Re: Short sight by angel'o'sphere · · Score: 1

      The list you gave is basically only valid for academic languages.
      C++ has closures now, or lambdas, not sure, did not check :D

      Guaranteed tail call elimination, wow, what an awful term. Obviously this is compiler/vendor specific if a compiler does 'tail call optimization' in recursive calls. I never saw a C/C++ compiler in the last 25 years that did not ... facepalm. Facepalm because you mix up compiler implementation details with a programming language.

      The last paragraph is complete nonsense.

      C++ has more in common with C# on a VM than with C. You are again mixing up language with runtime or implementation.

      Which of C and C++ you choose is typically more about whether you prefer the relative simplicity and transparency of one or the additional expressive power from the language features of the other.
      Actually no. The question is: do I have a C++ compiler (and does the device have the resources) or not. If I would find someone using bare bone C in an environment where he could use C++, I would chain him in the basement ... (without water and bread) for quite a while.

      You seem not to grasp the huge difference between OO, templates, STL and low level C programming.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    103. Re: Short sight by Anonymous Coward · · Score: 0

      When I say that sentence I stopped reading TFA

    104. Re: Short sight by angel'o'sphere · · Score: 1

      The STL was actually published by a scientist at HP and not SGI. I think his name was Stepanov or something similar, not sure if I mix it up.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    105. Re: Short sight by serviscope_minor · · Score: 1

      You can emulate the function treatments using function pointers in basic cases. It's really not the same as using a language designed to support a more functional programming style from the start, though.

      How so, and what non basic things can you not do in C++? There's std::function if you don't mind a function call cost, and templates if you have a need for speed. Either can hold functions, function pointers, functors and so of course lambdas.

      The STL had the right sort of idea, but there's a big difference in the level of expressive power between the standard library containers and algorithms and iteration patterns offer in C++, even used with more recent language features like lambda expressions, and features like folds and traversals or combinators and computation patterns in a language like Haskell that specialises in this style of programming.

      I'll grant that the STL style is awkward with begin() and end(), it doesn't have composability, which makes std::accumulate (which is simply fold with a different name) somewhat less useful. Range libraries with composition exist but they're not going into the STL until we get concepts since it'll make the interface cleaner. But foldl and foldr in haskell are just library functions too.

      Certainly in a number of ways, Haskell is more powerful than C++, though it comes with several important penalties, such as being really sodding hard to figure out what order your memory use is. Constant factors can matter, but orders are important.

      Sure, but again it's an entirely different (and much less powerful) level to languages with more robust support for these data structures. C++ has a useful std::map type, with an interface containing functions like begin, end and clear. Other parts of the programming world are taking nested maps, picking out a subset of the top-level map according to some predicate based on the key, value or both of each entry, flattening the structure a level, and then doing a deep merge of another similarly structured nested map with explicit rules for resolving any intersections, and again they're often doing this kind of thing with just a few short lines of code and with the basic patterns provided either via the standard library or directly via built-in language features.

      Not really sure I follow, can you provide a link to some actual code examples? The STL has various set operations (union, intersection, symmetric difference).

      --
      SJW n. One who posts facts.
    106. Re:Short sight by angel'o'sphere · · Score: 1

      There is a difference if a language, and that is C, is designed to be a portable assembler or if a language like Pascal compiles to machine code ...

      This bullshit you posted here (again) as answer is exactly the reason why I call you an idiot.

      You are smart but either play dumb or are dumb ... pretty annoying for me to see "smart" people behaving/talking completely dumb.

      However there is C--, too ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    107. Re: Short sight by Anonymous Coward · · Score: 0

      It's certainly not "Java alll the way down."

    108. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      What do you think initializes your static variables, parses your command line to provide argv/argc, etc?

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    109. Re: Short sight by lgw · · Score: 1

      Wrong. Computers aren't getting faster and faster. Moores Law is dead. You will only see incremental improvements. This isn't the 90s.

      It's not dead, it's just gone sideways, as perhaps you've noticed. Moore never said anything about processor speed, but about transistor count. Now we get more cores instead of faster cores, and better-optimized silicon. My new gaming PC is about 40% faster per core in (CPU-related) benchmarks then my old, despite the clock being 10% slower. And it has 50% more cores. So, yeah, my new computer is twice as fast as my old one, so do go one about how Moores Law is dead.

      For servers the core count is getting silly, but that's great for CPU-intensive work. I write nearly-unoptimized Java code, quite slow I'm sure, but I have millions of cores at my disposal if I need them (well, management would kick me out if I used them all for one task, but they're there).

      For mobile speed is limited by energy consumption, and there's plenty of room for improvement there!

      --
      Socialism: a lie told by totalitarians and believed by fools.
    110. Re: Short sight by w3woody · · Score: 1

      I'm with you on value semantics, unless memory is tight, or if we're dealing with a UI application (as I noted above) where it makes no sense to have multiple instances of an object referring to the same UI object. (For example, it makes little conceptual sense to have multiple C++ objects that represent the same logical X window handle.)

      Footnote: the last code I wrote was loading the entire planet file from OpenStreetMaps for in-memory manipulation and generation of custom vector map tiles. In that case, "tight memory" can mean 64GB of RAM. :-P

      And it's not hard to build your own reference counting scheme (or use a library such as Boost).

      Personally, by the way, I believe those who do not have to deal with a programming language such as C or C++ or Pascal where you need to think about memory management concepts (even if they're handled for you, such as with Boost) can run into a serious conceptual problem when writing applications that have tight memory requirements. I don't know the number of times I've had to explain to an Android developer that the reason why I set a field to nil was because the object itself may persist beyond the lifespan of the UI element which uses it, but we want the GC to be able to reclaim the rest of the memory associated with the object. (This can come up when fixing bugs in an Android activity object, where the activity is held by a network callback. Ideally this should be handled with a broadcast/receive design pattern, but at the very least, if your activity goes out of scope, you can release all the crap that the activity has strong references to that is no longer needed.)

      Somehow a number of Java programmers I've personally met think somehow garbage collection is this magic thing which does what the programmer intends, rather than what is written in code. They're generally the ones writing Android apps which crash and have no idea why.

    111. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      The list you gave is basically only valid for academic languages.

      Some of those features are widely available even in very mainstream languages like JavaScript and Python, and all of them are available in languages used for plenty of professional work in industry.

      Guaranteed tail call elimination, wow, what an awful term. Obviously this is compiler/vendor specific if a compiler does 'tail call optimization' in recursive calls.

      Guaranteed tail call elimination is essential if you want to be able to implement your own control structures using recursion. Unlike C and C++, languages designed to support that programming style do mandate it as part of their specifications. It's not just about optimisation in that context.

      C++ has more in common with C# on a VM than with C.

      The original subject of the discussion was where using C or C++ was still a good choice. Unless you know a lot of .Net implementations that run on microcontrollers with available RAM measured in kilobytes if you're lucky, C++ and C have a lot more common in that area than either does with C#.

      You seem not to grasp the huge difference between OO, templates, STL and low level C programming.

      I've never said, anywhere in this whole discussion, that C and C++ were somehow the same language or didn't have significant differences. I've primarily argued that in the big picture, they are very similar in the use cases where they do or don't work well, and I stand by that. I've also argued that C++ in particular is missing a lot of useful functionality that is widely available elsewhere, and I've given specific examples for comparison. I don't know how you could read my comments here and somehow think I don't know what OO or templates are.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    112. Re:Short sight by BarbaraHudson · · Score: 1

      C was not originally designed to be a "portable assembler" across platforms. Check your history. It was a language that was supposed to be used to write programs that ran on UNIX. It was written in 1972, and ANSI only got around to publishing a first definition in 1988 - in the meantime, its' use expanded. So, enough with the false facts, mkay?

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    113. Re: Short sight by w3woody · · Score: 1

      My problem is I learned C++ about a year before exceptions were added to the language. When templates came along I had the same reaction as a number of other programmers: do we need a Turing-complete pre-processor for the language? (After all, Java and Objective C seem do to fine with template-style generics.) Then STL came along and I felt the designers were smoking crack when they used the left-shift and right-shift operators to mean "input" and "output". (I refuse to use them on principle, unless required to by work.)

      I felt like at some point the folks driving the C++ requirements and the C++ STL requirements were doing things because they were "cool" rather than because they made sense, and I only use templates sparingly because it creates God-aweful syntax like we see in the STL, and in my experience can often distract from the readability of your code.

    114. Re: Short sight by Anonymous Coward · · Score: 0

      exactly.

    115. Re: Short sight by w3woody · · Score: 1

      Conceptually it does bother me that I now have a computer on my desk that is 100 times more powerful and has 500 times more memory than a $15 million dollar Cray X-MP supercomputer--and with all that computational power Microsoft Word can feel a little sluggish when typing.

      Sure, speed may be less of an issue, but O(N^2) is not good enough for large values of N, no matter how fast your computer is.

      I note this because every time I hear someone saying "well, computers are getting faster all the time" I'm reminded of a developer I worked with who used a class with O(N^2) performance when a similar class with O(N) performance existed that was a better fit for the job. (The problem was the product I was working on at the time failed in production when there were tens of thousands of objects to track, when in testing (where we had dozens) it seemed to work just fine.)

      So saying "speed is less of an issue" does not forgive developers from writing quality code.

    116. Re: Short sight by Anonymous Coward · · Score: 0

      #1 is done by gcc (it adds code to do just that). And #2 is the Linux kernel. Try again

    117. Re: Short sight by Anonymous Coward · · Score: 0

      Whooosh

    118. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      #1 is done by gcc (it adds code to do just that).

      And what do we call extra code supplied by our tools that we didn't write ourselves, boys and girls?

      And #2 is the Linux kernel.

      You do understand that there are platforms in the world other than Linux and C++ compilers other than gcc, right?

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    119. Re:Short sight by lgw · · Score: 1, Insightful

      Want good C/C++ code? Get a good C/C++ programmer.

      There is no such thing as good "C/C++" code. There is no such thing as a good "C/C++" programmer. The languages are very different; and what good code looks like in each language is very different.

      Generally, someone using the term "C/C++" is either not a coder, or a C coder who fails to understand C++.

      A good C coder can write good C code, or good assembly code. C++, Java, and C# are a different set, written with a different style. Python is over there in the corner, wearing the horse head mask and purple speedo, doing things very much its own way. We don't talk about JS in polite company, other then to note that there's no such thing as good JS.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    120. Re:Short sight by BarbaraHudson · · Score: 1

      You're so full of crap it's not funny. Try again. What you're positing is that someone who is good at one task or language cannot be good at another. That's a real pantload that is easily demonstrated in real life terms, as per this example:

      You're claiming the equivalent of someone who can speak colloquial English can't speak colloquial French. The languages have different styles, ways of phrasing concepts, etc - to the point that some are not possible to properly translate unless you can think in the other language because a literal translation doesn't convey the real meaning. And yet plenty of people can do both - and the thought process is different for both, unless you aren't fluent, in which case you're doing the translate-thought-into-second-language thing, a poor imitation of the real thing. Maybe you have to - don't put your limitations on others.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    121. Re:Short sight by geoskd · · Score: 1

      Want good C/C++ code? Get a good C/C++ programmer. Want good Java code? Get a good C/C++ programmer.

      Absolutely. If you have a fundamental performance problem with your java program, the likelihood that a java programmer is going to be able to fix it is pretty low. Your C++ programmer will be able to get that performance out of java (if it can even be had that way), or do the partial refactor in C++ to make it performant.

      There are an infinite number of ways to put the same program together, and the vast majority of them are slow as hell. Your garden variety C++ programmer will know how to choose the fast ones because they had to learn the consequences of all the variations. Java programmers by contrast typically never even learn how the libraries accomplish their magic, much less how the metal works.

      A java programmer divides by two to get the answer. A C++ programmer shifts right by one bit...

      --
      I wish I had a good sig, but all the good ones are copyrighted
    122. Re: Short sight by Anonymous Coward · · Score: 0

      To be fair, we do put up with websites that suckass because of all the cross site scripting for ads. I can't stand using "normal" people's computers because of all the ads they deal with.

      I run no script and rarely put up with that many ads and can definitely see a noticeable difference in website load times between firefox with noscript and just plain vanilla Chrome. Both have their uses for me.

    123. Re:Short sight by Z80a · · Score: 1

      But on other hand, the money they will lose with the inefficient monkey code...

    124. Re:Short sight by Anonymous Coward · · Score: 0

      Yes, there are zillions of computers that are embedded low power systems, programmed in c or maybe c++. but the number of programmers doing that is much smaller than the number of programmers using java and other languages. Right?

    125. Re:Short sight by Anonymous Coward · · Score: 0

      what you say is true, that low level ability and efficience mattered, but there's something else, those are all older programs. c++ is cross platform, that helps the v8 engine in chrome. There was hardly anything else when office was written that microsoft used.

      But today, it's not true that you'd just use c++ for those applications.

    126. Re: Short sight by Zero__Kelvin · · Score: 1

      You must have used C++ a very long time ago, and improperly at that. The language has evolved quite a bit since the 1980s.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    127. Re: Short sight by murdocj · · Score: 1

      Wrong, and wrong.

      Try reading the STL container documentation.

    128. Re: Short sight by murdocj · · Score: 1
    129. Re:Short sight by Anonymous Coward · · Score: 0

      Ultimately, the big problem is that I don't see a real universal contender for high-performance native code taking over from C/C++. There are a lot of promising languages, but at the moment, nothing is really taking off. Simple inertia is pretty hard to overcome, as it turns out.

      The whole reason that people claim C/C++ are dying or going out of style is that they are entirely disconnected from this point. They explicitly overlook the fact that the languages they are always citing are written in C/C++ and rely to an extreme degree on libraries written in C/C++ even when they manage to self-host the languages. It's an ignorance of what the tools they are using actually are.

      People tend to ignore technologies that are not commonly used in their little corner. I mentioned to a co-worker that I was going to a free training class on one tech and forwarded him the info, he says "shame that nobody uses it." I've long ago learned that when he says that it means "I've never had to use it with any of my clients so I assume that it's not commonly used" when in reality it is very heavily used in many sectors outside of the one that he spends all of his time in and stats show that it actually outnumbers the installations of the tech that he works with a lot.

      I however learned from the past not to ignore a technology because I don't plan on using it, you never know when a client will require it and you want to be able to raise your hand when the boss asks if anyone is familiar with it.

    130. Re:Short sight by epyT-R · · Score: 1

      A typical C program uses up 30% of its CPU time in memory management.
      And also 30% of its bugs.

      A typical Java program uses up about 5% of its CPU time in memory management, and usually around 1% of its bugs (or one at all).

      citation needed

    131. Re: Short sight by Zero__Kelvin · · Score: 0

      Thank you. That did in fact make it easy for me to see how truly incompetent you are.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    132. Re: Short sight by Anonymous Coward · · Score: 0

      And yet, my computer died recently, and I was surprised to realise that the CPU (i7-920) had been released in 2009.
      I've had no complaints with CPU performance despite regular use of handbrake and games, it was due for another GPU upgrade, but CPU wasn't really a problem.

    133. Re: Short sight by BarbaraHudson · · Score: 1

      I want a browser that (1) scrapes the site, (2) doesn't load crap OR images, (3) enforces your privacy, and (4) presents it all as the web was originally supposed to be, simple text with simple markup and no snooping that renders as YOU tell your user agent to.

      I can dream, right?

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    134. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      Sorry, I just spent an hour or so mocking up a complete, working Haskell program to illustrate some of the ideas I'm talking about for you, but apparently Slashdot thinks Haskell code has too many junk characters to include any lengthy code samples in a comment, and it massacres the whitespace in a whitespace-sensitive language even if I only post in short snippets. That's frustrating.

      In any case, just to be clear, I'm not suggesting that Haskell is necessarily a better language than C++ for any given purpose. Haskell has its pros and cons, like any language. It just happens to provide some convenient examples of useful and quite powerful language features that aren't in C++'s repertoire.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    135. Re:Short sight by lgw · · Score: 1

      We're not talking about "able to code". I can train a monkey or a college student to be able to code. So you learned the syntax - so what?

      We're talking about professionally skilled, which takes years of understanding of best practices, domain-specific libraries, and so on. There are families of languages that are similar because the bast practices and libraries are similar, so much of the years of learning carry over, with just the occasional gotcha.

      But very few people can learn more than one set of best practices - there's a tendency to think there's One True Way to do things. So C programmers writing Java do crazy crap like not returning from the middle of a function, and Java programmers doing C do crazy crap like returning from the middle of a function.

      Sure, there are a few, but very rare. I've never found one in an interview. People who are great C programmers can't seem to solve even simple interview problems (in their language of choice) of the normal, daily sort in Java. They just don't have the mental toolbox. Python is a bit closer, but it's still uncommon to see someone who can cross over - some can, some can't.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    136. Re:Short sight by BarbaraHudson · · Score: 1
      You seem to think that nobody has several decades of experience. And you're full of shit if you thing that "great C programmers can't seem to solve even simple interview problems (in their language of choice) of the normal, daily sort in Java". Just because you never met any doesn't mean they don't exist.

      So C programmers writing Java do crazy crap like not returning from the middle of a function, and Java programmers doing C do crazy crap like returning from the middle of a function.

      Fuck, are you ignorant. There's no such thing as one set of best practices in ANY language. It all depends on the problem. It's perfectly fine to have multiple exit points in a function in c, rather than having a ton of conditionals so you always exit at the end (and goto is perfectly valid for some problems), so why would they have a problem doing it in Java, or vice versa.

      Programming is programming. It's your mindset that is limited, probably due to a lack of experience. Call me back when you've been doing it for 3 decades.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    137. Re:Short sight by Anonymous Coward · · Score: 0

      Unless you're writing your own custom container classes in C++ why do you need to do memory management?

    138. Re: Short sight by Anonymous Coward · · Score: 0

      Lets say I have a server software. I have a map that takes 1 GB of memory. I can keep it on disk or I can buy hardware thar has 1GB more memory and keep it on memory and speed up my app. Coat of memory is less than my hour salary. And you think I shouldn't go for the hardware solution? I have plenty of other examples also.

    139. Re:Short sight by Anonymous Coward · · Score: 0

      This right here.

      I'm a C# guy by day, and I enjoy working in it. It's easy. But I've had to dig through the bowels of Win32 stuff to root out nasty bugs in black-box libraries. That's one of those tasks that really clears things up for you (at least if you're any good at it), because you'll see how various parts of .Net were implemented, and then why. And more importantly, why certain annoyances are the way they are. It gives you a new respect for Form f = new Form(); when you see the underlying 100-ish lines of code that do that under the hood.

      (And, yes, I'm aware that this, and any other example using Win32, is going to be an extreme example due to Win32's clusterfuckiness.)

    140. Re:Short sight by lgw · · Score: 1

      You're arguing against an extreme absolutism that's not my argument. I'm not claiming there are 0 such people, but they are quite rare.

      But I've interview several hundred people in my career, and I know whereof I speak, as far as the 99% case. Most, almost all, people can't cross over. Sad, perhaps, but true.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    141. Re: Short sight by Anonymous Coward · · Score: 0

      Yeah you know, everything will be done by the mighty AI. So you only need to fire up tensorflow or caffe2 or whatever.. Which are written in Java, right?
      Oh, not?
      But no one will ever have to touch the C++ code base again once it's done, right?

    142. Re:Short sight by K.+S.+Kyosuke · · Score: 1

      I too have seen Wirth's Oberon compiler. :) Nevertheless, going against the grain of the problem seems generally inadvisable.

      --
      Ezekiel 23:20
    143. Re: Short sight by serviscope_minor · · Score: 1

      Oh well,thanks for the effort.

      In any case, just to be clear, I'm not suggesting that Haskell is necessarily a better language than C++ for any given purpose. Haskell has its pros and cons, like any language. It just happens to provide some convenient examples of useful and quite powerful language features that aren't in C++'s repertoire.

      OK Sure. If you were comparing say C++98 to modern languages I'd me much more inclined to agree, by modern standards it was (and is) rather long in the tooth and lacks power in a few serious ways. C++ 11 and 14 added a lot. We're never going to get the type inference of Haskell, metaprogramming of D or memory safety of Rust, that's for sure. But I think in the later iterations, it's gone from missing a ton of stuff so that programming is often painful to simply missing some stuff around the edges. IOW C++ now does well over 95% of what I want, not 80%.

      This might of course be due to the domain of C++ I work in.

      --
      SJW n. One who posts facts.
    144. Re: Short sight by dunkelfalke · · Score: 1

      Except that the modern web really is so slow thanks to all the embedded crap, that the lag can be measured in seconds, not microseconds.

      --
      "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
    145. Re:Short sight by gweihir · · Score: 1

      Inertia is surely a factor even so. There is no technical reason you couldn't have a language that retained the low-level control and flexibility of C while still being significantly safer, having much cleaner syntax, and including useful features that made the language more powerful but that could be implemented with no runtime overhead.

      I used to think that as well. I do not anymore, and I think there _are_ technical reasons for this. For one thing, C is exceptionally well defined and has a very clean syntax (C++ does not qualify for either though). You can sees this by how little the core language has changed. Of course, compilers have gotten better at finding some classes of mistakes, and I would really not want to use an original K&R compiler. But these changes, useful as they are, have not changed much in the core language. That is one indicator that there may not be much that can be done.

      The other is just my intuition for having worked with a lot of languages (functional and logic only a few, admittedly) and whenever somebody adds "safety" or "cleaner syntax", they actually make it more complex and by KISS actually make it worse overall. An extreme case of that is Java, where you often have much more non-functional code (declarations) than functional code and much practically produced code is basically unreadable without use of tools. That is not a good state of affairs at all and basically violates all cleanliness, safety, simplicity and turns the language into a design failure. (The "advantage" of Java is libraries for everything, allowing even the most incompetent coder to produce something...)

      Bottom line is that I have seen these attempts to improve on C fail time and again, and it may just be time to admit that C is pretty optimal as a language, provided the coder has what it takes to understand the execution model. The execution model is also pretty simple, but requires understanding how a CPU and RAM actually works and many coders are failing at that these days. The execution models of most languages are much more complex than the one of C, but you can produce some code not understanding them. That is also a reason why some people consider C coders to be superior, because incompetent coders cannot produce anything at all in C, while they often can produce somewhat working pretty bad code in other languages.

      As to average coder competence, I think the best take on it is still this one:
      https://blog.codinghorror.com/...
      You cannot by any means turn these people into good coders and language can only help to make their incompetence obvious. C does that well, because of the requirement that you understand the execution model.

      But even if you did invent such a language, you'd still have to convince developers working on these kinds of applications to use that new language in preference to the global lingua franca of programming they all know already, and you'd still have to provide a way to link code written in your new language with the vast ecosystem of existing C-based libraries and APIs. That's a tall order, no matter how brilliant your new language itself might be.

      Assuming such a language could be created, you are certainly right about this.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    146. Re:Short sight by Anonymous Coward · · Score: 0

      ".Net." is a programming language now!?!?!

    147. Re:Short sight by F.Ultra · · Score: 1

      I've heard that sarcasm on the Internet was impossible and now I have proof that it is so. I really thought that my last line about the retired folks should be the "reveal" but alas no :(

    148. Re:Short sight by BarbaraHudson · · Score: 1

      Unless you're writing your own custom container classes in C++ why do you need to do memory management?

      1. Because the STL is a steaming pile of shit if you want to audit ALL your code. When you write your own, you KNOW "who owns what" and all the side effects instead of having to dig through a hierarchy. The STL is not needed.
      2. Because anyone coding in c++ should be able to write their own container classes - it's a basic skill. If you can't do it, you're simply not a c++ programmer.
      3. Because memory management isn't hard - if you think it is, you need to practice, practice, practice.
      4. Memory management isn't just for containers.
      5. Using a container class is overkill in many/most situations.
      6. Classes if necessary, but not necessarily classes. KISS is still a valid and essential skill.
      7. Resource management. Since you're a java fan but think that c++ coders can't do Java, you should know that if you want to make the move to java, you'll have to lose the habit of thinking that destructors are called as soon as an object goes out of scope, whereas Java may never be called during the entire life of the program. Never depend on a destructor for freeing resources in a timely manner in Java.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    149. Re:Short sight by BarbaraHudson · · Score: 1

      If you've interviewed that many people, then you know that most people can't do a simple problem on their own, and if you hire them, you should be fired. "Coding via google" is a sign of incompetence.

      2 decades ago (or maybe more) I interviewed at one place, they asked me to solve a problem. I quickly wrote 3 different solutions, all of which worked. No internet. My philosophy is that you should try to find 3 different ways to solve a problem. The first will get you familiar with the problem. The second will hopefully be an improvement, as well as the third. Or you may discover that your first attempt was optimal - you can't know without trying. Which is why ANY IDIOT who goes with the "do it this way because of the mind set of the language" is not competent. They have demonstrated that they lack curiosity, which will lead you a lot further than "adopting a language's mind-set." "Why does this work?" "Can it be done better?" "Should it be done at all or can I eliminate it entirely?" "Is this something the customer wants or was it just added by some asshole boss who is lying when they say the customer wants it?"

      A lot of time is wasted on that last one. Good coders can smell it a mile away, in any language.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    150. Re:Short sight by BarbaraHudson · · Score: 1

      Still, you have to at least try, or you'll never know if you have the best solution to a problem. Being like the old milk wagon horse, who just follows the same route every time, works for horses until the problem (in this case, the route) changes. Besides, it's intellectually stimulating, aka it's fun :-) And every once in a while, there's enlightenment, either something new, or a better understanding of why the currently accepted way became the currently accepted way. It's a lot better than telling someone "because!" when they ask why you do something a certain way.

      But that's just me. I'm naturally curious.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    151. Re:Short sight by BarbaraHudson · · Score: 1

      Point duly noted, sir. :-)

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    152. Re:Short sight by info6568 · · Score: 1

      Elizabeth Lions, the main reference in the article, has a lot of experience with recruiting companies, although she is a psychologist, not a computer science professional neither a "coder".

      So, what she has in front of her is a lot of companies that depend on recruiting companies asking for resources for their Java and .Net based information systems. That's all. Really, to call people "coders" have all the smell of "maquila software" (high volume and cheap outsourcing, where you replace constantly the "coders" because of quality issues).

      The computing landscape is like a rainbow, full of different colors and flavors. In fact, when you need a C/C++ specialist for some type of secure/embedded/efficient/fast/specific piece of software, you don't ask them because they don't know how to deliver this type of specialized professionals, making the statistics useless.

      To declare that whatever language is dead because they don't recommend that language "coders" to their customers is like to say that neurologists are sentenced to disappear because nobody ask them for this type of professionals. Then, the usual are general medicine doctors, so people must give-up on studying the brain because it has no market share.

    153. Re: Short sight by Anonymous Coward · · Score: 0

      lol'd so hard when I read that. Then later he seems to include Python while saying LAMP is detrending. Methinks this author is clueless.

    154. Re:Short sight by lgw · · Score: 1

      Yes, you do like to change things that other people take for granted.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    155. Re:Short sight by Anonymous Coward · · Score: 0

      Java will be out long before c/c++. And both is not soon.

    156. Re:Short sight by BarbaraHudson · · Score: 1

      Of course I do. I often am able to provide proof they're wrong. Such as when one idiot thought that by increasing the number of records in a database by 1000 times would make a search 1000x slower, when in fact the difference is negligible. Guess he didn't understand how indexes with low vs high cardinality work, and neither did the people who backed him up.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    157. Re:Short sight by MooseMiester · · Score: 1

      Let's look at the typical web server:
      OS *NIX mostly C with C++
      Sites: PHP, wordpress, laravel, magento, Zend, Code Ignitor, Kohana, Yii
      Client side: Javascript snippets here and there, boostrap. Angular JS might really take off except version 2 is incompatible with version 1, and version 4 is incompatible with version 1 and 2 clients don't usually pay for their site to be rewritten over and over.
      Yup, sounds like the entire world is going to Java or .NET to me too...

      --
      Murphy was an optimist
    158. Re: Short sight by david_thornley · · Score: 1

      C++ isn't C with Classes any more, and hasn't been for decades. C++ has all sorts of tools you can use as you see fit. If OO doesn't fit your problem, don't use it.

      Why do you think it's hard to write really efficient C++? I haven't noticed it being any harder than in C, assuming equal functionality.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    159. Re: Short sight by david_thornley · · Score: 1

      If you need performance, it is likely you have a bad algorithm, or are misusing the language, like not using a string builder.

      Or you're in one of those problem areas where the fastest known algorithms are slow even when properly coded. The software I'm working on is well maintained and we're always willing to entertain new algorithms. Our code quality is too high. Our code is too slow and everybody would like it to be faster.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    160. Re: Short sight by david_thornley · · Score: 1

      C++ has a useful std::map type, with an interface containing functions like begin, end and clear. Other parts of the programming world are taking nested maps, picking out a subset of the top-level map according to some predicate based on the key, value or both of each entry, flattening the structure a level, and then doing a deep merge of another similarly structured nested map with explicit rules for resolving any intersections, and again they're often doing this kind of thing with just a few short lines of code and with the basic patterns provided either via the standard library or directly via built-in language features.

      Why do you think any of this is difficult in C++? Nested maps are easy. remove_if is pretty easy, particularly with lambdas, and it's in the standard library. Flattening the structure looks pretty easy, unless I'm missing something. Just loop over the higher-level and lower-level maps, combine the keys as you like, and put them where you want. I'd have to think a few minutes about the deep merge, and have some specifics.

      In Haskell, you get tools like mapAccumWithKey, which represents visiting each key-value pair in a map in ascending order of keys, transforming each value according to some rule, and accumulating some state along the way, which may also be used to influence later transformations and/or state updates. Obviously one of these captures a much more specific and powerful pattern than the other.

      Visiting each key-value pair in a map and transforming each value according to some rule is easy in C++. (for (auto & p : my_map) p.second = foo(p.second); or something like that) Adding the accumulation would be done in foo or whatever lambda is used, but it's not difficult.

      Making a full functional language would be more difficult, but I just don't see how Haskell, or any other programming language, can be that much easier than C++ for a lot of the examples you've given.

      It also seems to me it would be significantly more difficult to do in C, which is why I consider C++ much more expressive than C.

      I get the impression that you aren't familiar enough with C++ to appreciate its flexibility and expressiveness, much as I'd have a lot of trouble expressing common C++ stuff in Haskell.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    161. Re:Short sight by david_thornley · · Score: 1

      Different languages also require different ways of thinking to use them correctly, and C++ is just plain hard to learn well. Functional languages require a different mindset from procedural languages.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    162. Re:Short sight by david_thornley · · Score: 1

      I'd think COBOL would come in high on the "unique lines of code" metric. There's lots of it out there, and it's such an unexpressive language that it needs a lot more lines of code to do things.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    163. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      Why do you think any of this is difficult in C++?

      Short answer: Because (a) the syntax is clumsy and limited, and (b) the range of tools in the language and standard library is also mostly limited to the basics.

      It's not that you can't do some of these things in C++ in those basic cases. But please consider that very simple transform algorithm we mentioned. While you're writing the example code you gave:

      for (auto & p : my_map) p.second = foo(p.second);

      someone using a language with better support for manipulating data in this style is writing something like this instead:

      map foo my_map

      If you're writing out a whole loop longhand every time you need to do something like this then of course that takes more boilerplate and uses a lot more space. That already requires more brain on the part of someone reading your code than just naming a common pattern and calling it.

      This approach also does little to help reuse or composition. When you start wanting to combine different operations over your data and scaling up to more demanding data processing requirements, of course you can just throw more logic into your loop, but now your reader has to parse the whole thing and spot the little accumulation you tucked in there, or notice the part where you skipped an item by updating the loop control variable within the loop body, or whatever.

      Over the entirety of a large program that does non-trivial data crunching, these overheads can add up to a lot of boilerplate to read and write, subtle deviations from expected patterns that lead to bugs, and perhaps worst of all, a much more limited "vocabulary" for expressing common programming patterns that means you're always getting bogged down in the details instead of looking at the bigger picture.

      I get the impression that you aren't familiar enough with C++ to appreciate its flexibility and expressiveness, much as I'd have a lot of trouble expressing common C++ stuff in Haskell.

      I've been programming C++ professionally for more than 20 years, I've trained other professional developers up to and including senior levels in programming techniques using C++, and I've been involved in plenty of discussions along the way that brought some of those features you mentioned into the more recent standards. My appraisal of the relative strengths and weaknesses in C++ is not born of ignorance, it's born of using it for a long time and learning its good and bad points the hard way, combined with experience using other languages that do some of these things much, much better.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    164. Re:Short sight by Anonymous+Brave+Guy · · Score: 2

      For one thing, C is exceptionally well defined and has a very clean syntax

      Well defined, I'll agree with. The ISO standards for both C and C++ are much more rigorous than the foundations for a lot of programming languages.

      Whether it's a good definition is a different question. For example, C also has the dubious honour of being one of the only mainstream programming languages where its specification deliberately and explicitly makes the results of some actions undefined behaviour. There is really no need for a language, even one designed to support low-level systems programming, to default to a nullable pointer type with full arithmetic support and provide no safer alternative. There is no need to have fundamentally unsafe library functions like gets lying around either. Implicit and potentially lossy type conversions. Unions. Enumerations. Macros. The list of hazardous areas is quite extensive for a relatively small language, the list of bugs that has originated in those areas is quite extensive as well.

      As for the syntax, again I think it's hit and miss. The basic structured programming stuff is fine, but the "inside out" notation for types is a classic example of something we're now stuck with primarily because of momentum and familiarity, even though it's a terrible design by just about any other reasonable standard.

      Much of this could be improved on technical grounds without resorting to dramatic changes. I'm totally with you on not seeing things like Java as moves in the right direction, for the kind of programming jobs that I think we're talking about where C was a sensible choice in the first place. But alas, the programming industry rarely moves from one major language to another just because the second one includes lots of useful but modest and incremental improvements rather than any new killer feature. Even the Python community has taken quite a few years to shift its focus from mostly 2 to mostly 3, and that's without the practical constraints on compatibility and portability that C needs to do its job.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    165. Re:Short sight by Anonymous Coward · · Score: 0

      We wrote a language that is a subset of C, wrote a wrapper for all the APIs that are in C, wrote a wrapper for all the libraries that are in C/C++, then used a compiler written in C to compile the compiler, which is of course in C or C++, on an operating system that was written in C. We plan to make this a standard by making it mandatory or almost mandatory on this one platform we have control over, and that became popular by supporting C.

      Looks like C is dead!

      I've done government work and seen this in real life.

    166. Re:Short sight by Anonymous Coward · · Score: 0

      COBOL programmers are having a hard time finding jobs? Bullshit. The "old retired folks with Cobol experience are coming back to the workplaces" because the money is temping enough, and you can't replace them with someone whose only programming experience is some "web-scale latest javascript framework" scripting shite.

      I know both COBOL, PL/I, IMS, VSAM, CICS, JCL, etc... and the pay is shit until you compare it with Social Security.

      Any you can replace them with a developer who has been at it for a few years, but you'll have to beat their current salary and that's probably not going to happen.

    167. Re: Short sight by Anonymous Coward · · Score: 0

      We have Linux running on an embedded chip at work, but since that takes forever (20 seconds!) To boot up we have another chip to do the important stuff, in assembly. 4 bit CPU, so no C.

    168. Re: Short sight by Anonymous Coward · · Score: 0

      However the opinion comes from a president of a company.... so is bullshit they are the persons who have the less technical knowledge and are only social . so I would not worry . c and c++ will never die they are needed by the operating systems an by serious task hacking an programming advanced things because they are fast. For the other tasks more simple are the rest of languages . In addition every day there are more and more computers so more people will be needed to program and operate them

    169. Re: Short sight by david_thornley · · Score: 1

      Sorry for the late response, but I had to do some thinking.

      I'm still puzzled by why you listed things that are pretty easy in C++ to support the superiority of functional languages. You have cleaner syntax in functional languages when you're doing thing functional languages are good at, yes. C++ has worse syntax than Haskell, as well as most other languages, true. I haven't found this to be much of a problem.

      Now, I gave that for loop (one line, although I'd write it as two for the ability to put a breakpoint in), because I remembered how to do that off the top of my head, instead of looking up the appropriate algorithm, which is an argument against C++ syntax, but I don't see that it's that much worse. I'm not averse to looking things up and getting them clear while programming, just not generally for Slashdot posts. Of course, if I wanted that sort of thing in my vocabulary and didn't have it already, I'd write a template function, and it would look a lot like the Haskell version in C++ syntax.

      C++ is very good at allowing the programmer to build up a vocabulary, although not as good as Common Lisp (another of my favorite languages). In each case, you're stuck with the standard language syntax (or lack of it), and both C++ and Lisp have syntaxes that lots of people don't like. The C++ Standard Library does a lot of that, although not as much as some other language's libraries. Boost helps. It's possible to do amazing things with C++ syntax, and while it takes a good deal of expertise to do it right it requires much less to use it.

      Throwing little bits of functionality into a function where they're easily missed is bad style in any language. That's where good naming comes in, along with other ways to write clear code. This is arguably more important in C++ than in most languages, of course.

      I get your point about clumsy C++ syntax, but other than that I don't understand your arguments. If you want to program in a functional style in C++, that's not difficult. You're not going to get all the advantages of Haskell there, but I'm not convinced Haskell is real good at a lot of things C++ does well. If you were to show me something in Haskell that would be really difficult in C++, that would help.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    170. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      OK, here's a concrete example I wrote for serviscope_minor the other day. I couldn't figure out how to post it at the time, but apparently if I set my posting mode to Code then it might work...

      I'm assuming we're all geeks here, so let's suppose we're flying our starship to a space station and interested in the upgrades available from the merchants in the market there. The available upgrades are either weapons with a certain level of firepower or fuel tanks with a certain capacity, and each of them mounts at a specific point on our ship. Each merchant has a price list of the upgrades they have available and what they cost.

      The next part of this post contains a complete, working Haskell program that sets up a few simple data types and helper functions to model this domain, and then creates a not entirely trivial data structure to represent what's available in that station market. The interesting part is near the end, when we want to start working with that data, and it's the functions that are just a line or two long. If you'd like to build this code for yourself, it should compile fine with any recent GHC and no special options required, and it just needs the base, containers and pretty-show libraries. So, here's the program:

      module Main where

      import qualified Data.Map.Strict as M
      import Data.Maybe (mapMaybe)
      import Text.Show.Pretty (ppShow)

      type Capacity = Int
      type Firepower = Int
      data Upgrade = FuelTank Capacity | Weapon Firepower deriving (Show, Eq)

      isFuelTankUpgrade :: Upgrade -> Bool
      isFuelTankUpgrade (FuelTank _) = True
      isFuelTankUpgrade _ = False

      data MountPoint = LeftWing | RightWing | Tail | Dorsal | Ventral
      deriving (Show, Eq, Ord)

      type Cost = Int
      data SaleItem = SaleItem { upgrade :: Upgrade
      , mountPoint :: MountPoint
      , cost :: Cost
      } deriving (Show, Eq)
      type Merchant = String
      type Market = M.Map Merchant [SaleItem]

      spaceStationMarket :: Market
      spaceStationMarket = M.fromList
      [ ( "Bob's Bombs"
      , [ SaleItem (Weapon 200) LeftWing 250
      , SaleItem (Weapon 200) RightWing 250
      , SaleItem (Weapon 100) LeftWing 100
      , SaleItem (Weapon 100) RightWing 100
      , SaleItem (Weapon 400) Ventral 750
      ]
      )
      , ( "Rory's Range Enhancers"
      , [ SaleItem (FuelTank 1000) LeftWing 50
      , SaleItem (FuelTank 1000) RightWing 50
      ]
      )
      , ( "Dora's Defences"
      , [ SaleItem (Weapon 50) Dorsal 50
      , SaleItem (Weapon 50) Ventral 50
      , SaleItem (Weapon 50) Tail 50
      , SaleItem (FuelTank 2000) Ventral 150
      ]
      )
      ]

      fuelTankStores :: Market -> [Merchant]
      fuelTankStores = M.keys . (M.filter (any (isFuelTankUpgrade . upgrade)))

      mountedFP :: SaleItem -> Maybe (MountPoint, Firepower)
      mountedFP (SaleItem (Weapon fp) mp _) = Just (mp, fp)
      mountedFP _ = Nothing

      maxFPAvailablePerMP :: Market -> M.Map MountPoint Firepower
      maxFPAvailablePerMP priceLists =
      let maxFPsPerMerchant = M.map ((M.fromListWith max) . (mapMaybe mountedFP)) price

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    171. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      In case you're still interested, I did find a way to post that longer example eventually. You can find it here.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    172. Re: Short sight by Tenebrousedge · · Score: 1

      Thanks for posting that, I've been looking into Haskell lately. I think though that an arguably better example might be J or APL. I'm not sure if those qualify entirely as functional? But they're expressive enough to be used as code golf languages. Here's an implementation of Conway's Game of Life in some forty-odd characters.(see also) I'm pretty sure it will take me years to be able to write anything like that.

      The tradeoff with the functional languages of course is that reasoning about the code becomes more difficult, and mathematical elegance doesn't always translate into reasonable runtime requirements. But otherwise your point is pretty well demonstrated. One certainly *can* build higher level constructs out of simpler ones, or use explicit loops. But if your language does not let you easily manipulate lazily-evaluated infinite lists of integers, you're probably not going to go to the trouble of using those.

      --
      Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    173. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      The tradeoff with the functional languages of course is that reasoning about the code becomes more difficult

      Interesting comment. I would have argued in the opposite direction: assuming a similar level of familiarity with the languages and programming styles, it is often easier to reason about functional code than about imperative code where you might have expressed the equivalent behaviour through nested loops and so on.

      That assumption about familiarity is important. If you're not reading functions like mapMaybe and unionWith in my example with the same fluency that you'd read

      for (int i = 0; i < numThings; ++i) { ... }

      in an imperative equivalent then naturally understanding the functional code is going to be harder work, and likewise the other way around. However, other things being equal, my experience has been that decent code written with these tools can often wind up more succinct, more explicit about following common programming patterns, and/or more amenable to rigorous analysis if the tools offer stronger guarantees about their behaviour than lower-level equivalents like writing loops or concurrency and synchronisation logic manually.

      Of course, you can also write horrors in a language like Haskell that would make IOCCC veterans run crying for their mummy. There is definitely a danger of trying to be too clever with all the functional tools, when just writing something simple and explicit would have been a much better idea.

      and mathematical elegance doesn't always translate into reasonable runtime requirements.

      That is definitely a valid concern, and certainly these functional tools and the programming style they support aren't a good fit for every job. However, you could make the same argument about the language and library features that are already available in standard C++ and heading in this sort of direction. The original claim that I disputed was that C++ supports everything that other modern languages provide, in response to my own position that expressivity isn't a relative strength of C++ any more. Clearly in this area, among others I mentioned, it does not.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    174. Re:Short sight by angel'o'sphere · · Score: 1

      Bertram Meyer, inventor of the Eiffel Programming Language.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    175. Re:Short sight by angel'o'sphere · · Score: 1

      C was not originally designed to be a "portable assembler" across platforms.
      Well, I rather believe Mr. Ritchie and Mr. Kernighan ;D

      https://www.coursehero.com/fil...

      http://www.linuxfocus.org/Engl...

      Wow, that was easy again.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    176. Re: Short sight by david_thornley · · Score: 1

      Thank you very much. This is what I was asking for.

      It looks to me like fuelTankStores could be done fairly easily in C++ with a copy_if referencing an any_of with a lambda saying whether an upgrade was a fuel tank. I'd have to do a little work to confirm this and write up a solution, which isn't going to be done at my desk at work. copy_if with a lambda is one way to filter a map to pick elements satisfying a given predicate. There are others. I'm not sure what the problem with all_of is, as it returns a bool, which appears to me to be what you want. If you want the first element satisfying a predicate, that's what find_if is for.

      Nested for loops can be become a C++ function returning bool or whatever that is you need that will fit into a library algorithm because lambdas are cool. Lambdas add a lot of functional programming capability to C++, and make it possible to do a lot of things that would be much more hassle in C++03.

      Now, the MaxFPAvailableForMP function looks a lot more difficult to do that way in C++. I'd have to do some serious putzing around to see if I could do it readably.

      Of course Haskell syntax is much better than C++ syntax. That sentence remains true if you substitute almost any other mainstream or semi-mainstream language for "Haskell".

      I'm slowly learning Haskell myself, since it does look useful to know. Not necessarily to write programs in, but to know how to write a good Haskell program, to internalize the mindset.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    177. Re: Short sight by Anonymous+Brave+Guy · · Score: 1

      If you do have a go at writing the equivalent of those two functions in C++ later, in either functional or imperative style, please do post what you come up with. I'd be very interested to see the results, and in particular whether you know some tricks that I don't to keep the C++ code tidy or whether perhaps you're just more forgiving of less than ideal syntax while I've been spoiled by some of the other languages I use more than C++ these days and become a language snob. ;-)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    178. Re: Short sight by serviscope_minor · · Score: 1

      thanks for the reply. I've been a bit busy recently, but I'll definitely give it the time it deserves.

      --
      SJW n. One who posts facts.
  2. Kind of hard to take this seriously.. by Anonymous Coward · · Score: 0

    So Windows admins are going extinct? Of course, because Linux is so highly respected in business environments - not.

    1. Re:Kind of hard to take this seriously.. by Z00L00K · · Score: 1

      No, they are just outsourced to India with people not knowing anything and with a very bad english trying to support you which fails invariably and if you are lucky you can get your password changed.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    2. Re:Kind of hard to take this seriously.. by Anonymous Coward · · Score: 2, Funny

      Judging from your writing skills I would guess that you too may be from India or somehwere else where Enlgish is not the local native language.

    3. Re:Kind of hard to take this seriously.. by Dog-Cow · · Score: 2

      I doubt there are many large companies who don't use Linux. Ford's been using it for at least the past 15 years. Ford is hardly a trailblazer when it comes to new technology and platforms.

    4. Re:Kind of hard to take this seriously.. by wolfie_cr · · Score: 1

      what is Enlgish ?

    5. Re: Kind of hard to take this seriously.. by Anonymous Coward · · Score: 0

      .com-boom Unix boxes have been replaced by Linux boxes. The infrastructure of the internet, most web servers, most big dataceneters is all Linux.
      Heck - even MS Azure cloud is being overrun by Linux. MS had to re-introduce a Linux sub-system because Windows Servers are a minority player.

      Sure - there is the occasional Exchange or .net IIS box and locally around you they might look typical - but it's mostly Linux outside the Desktop.

    6. Re: Kind of hard to take this seriously.. by Anonymous Coward · · Score: 1

      Except for that thing they did creating the automobile.

      And assembly line manufacturing.

      But yeah, they aren't innovative.

    7. Re:Kind of hard to take this seriously.. by angel'o'sphere · · Score: 1

      The english of indians might be hard to understand for americans, because of pronunciation, but usually it is very good.

      You seem not to be aware that english is the official language in India, which has about 800 local languages.

      Ah well, "don't make fun about bad english speakers! Because they speak a second language!"

      How many languages do you speak?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    8. Re:Kind of hard to take this seriously.. by __aaclcg7560 · · Score: 1

      I doubt it. Microsoft has paid my salary (indirectly) for 20+ years and I don't see that changing for the next 20+ years.

    9. Re: Kind of hard to take this seriously.. by ArchieBunker · · Score: 1

      Revolutionize manufacturing? Yes. Creating the automobile? How about no.

      --
      Only the State obtains its revenue by coercion. - Murray Rothbard
    10. Re: Kind of hard to take this seriously.. by Anonymous Coward · · Score: 0

      20+ years, no gaps? Surely you have thrilling and fresh insights to share about at least a year or two...

    11. Re: Kind of hard to take this seriously.. by __aaclcg7560 · · Score: 1

      Surely you have thrilling and fresh insights to share about at least a year or two...

      Windows ME... *shudders*

    12. Re: Kind of hard to take this seriously.. by Anonymous Coward · · Score: 0

      And yet you say were unemployed for a few years. You're a fucking liar.

    13. Re: Kind of hard to take this seriously.. by __aaclcg7560 · · Score: 1

      And yet you say were unemployed for a few years.

      Yes, I was.

      You're a fucking liar.

      No, I'm not. Microsoft never paid me directly or indirectly when I was unemployed for various periods of time (six weeks, eight months, two years) or the one year sabbatical I took after my mother's death in 2004.

    14. Re:Kind of hard to take this seriously.. by gweihir · · Score: 1

      On the server, Linux is replacing Solaris and other "old" Unixes. On the client, it may become pretty popular, because some large enterprises are preparing to go web-application only when Win7 becomes non-viable. They will not do this on Windows. All your comment shows is that you have no clue what is going on.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    15. Re:Kind of hard to take this seriously.. by Anonymous Coward · · Score: 0

      This.

      Steel workers were oursourced and about half of the coal mining jobs since the 80's have disappeared due to mechanization and the use of fracking. Output and pay rates have also risen tremendously, so more people can go to school and take pioneer careers.

      Unless you are a 1st or 2nd generation immigrant, The American Public's patience for the Chinese Miracle and outsourcing has reached exactly zero. The net result of continuing to outsource IT to shanty-town countries with captive labor pools and the increasing dependance on IT for people's day to day lives will inevitably result in a triangle shirtwaste factory fire moment. Sediments are inbetween parties in government is committing genocide to the government has become the new robber barons. None of this is sustainable when analyzed logically. A Quarter of GDP consisting of just the Healthcare industry is not sustainable.

      As a side note. All of these cloud infrastructures are becoming increasingly mature and the lessons learned are ending up in OSS software packages as well as in small, competitive retail packages for SMB. We haven't gotten there quite yet, but being able to fully encapsulate a software package in a virtual machine and sell it as a standalone system is where the future is at. If you need to be nearer the forefront of technology you buy a subscription license, otherwise you use OSS. Companes have an interest in protecting themselves from technological imperialism.

    16. Re:Kind of hard to take this seriously.. by Anonymous Coward · · Score: 0

      I don't see that changing for the next 20+ years.

      No, because for you to foresee it changing would require you to have ambition, talent, skill, and the willingness to pull your head out of your ass.

      So yeah, Microsoft is it for creimer.

    17. Re:Kind of hard to take this seriously.. by __aaclcg7560 · · Score: 1

      So yeah, Microsoft is it for creimer.

      Whatever pays the bills, baby.

    18. Re:Kind of hard to take this seriously.. by Anonymous Coward · · Score: 0

      Whatever pays the bills, baby

      As long as those bills total up to less than 50k per year, right?

      Because why aim high?

    19. Re:Kind of hard to take this seriously.. by __aaclcg7560 · · Score: 1

      As long as those bills total up to less than 50k per year, right?

      It's called living within your means. My living expenses are only ~$35K per year.

      Because why aim high?

      I'm halfway through a fully-funded, five-year contract in government IT, I'm studying for my InfoSec certifications, and my next job will be $100K+ per year.

    20. Re:Kind of hard to take this seriously.. by Anonymous Coward · · Score: 0

      By then it will be too late to get married and have a family, what's even the use of earning 6 figures? :(

    21. Re:Kind of hard to take this seriously.. by __aaclcg7560 · · Score: 1

      By then it will be too late to get married and have a family, what's even the use of earning 6 figures? :(

      Unless you're committed to the American Dream of having it all, you don't need six figures to raise a family. This is Silicon Valley. Many guys are starting their first, second or third set of families in their 50s.

    22. Re:Kind of hard to take this seriously.. by Anonymous Coward · · Score: 0

      It's called living within your means.

      Sure, as long as you don't mind shit work for slave wages in one of the most expensive areas of the country. Why have a good life, when you can "live within your means" on janitor wages?

      I'm halfway through a fully-funded, five-year contract in government IT

      Working for a slow-moving government agency as a helpdesk jockey does not provide sufficient evidence of ambition.

      I'm studying for my InfoSec certifications

      Which certification, exactly? When will you get it?

      my next job will be $100K+ per year

      Really? What job will that be?

      And why are these goals always asserted as some vague, nonspecific future point in time? They're just specific enough to sound nice, and vague enough that nobody can hold you to your failure to achieve them.

      Come on buddy - SMART goals: Specific, measurable, achievable, realistic, and time-bound.

      I'll also point out that you've claimed that the IT thing is just "how you pay the bills" until your "content creation" gig starts pouring money into your bank account... but now, we're also to believe that you're actively committed to your tech career? Which is it?

    23. Re:Kind of hard to take this seriously.. by __aaclcg7560 · · Score: 1

      Working for a slow-moving government agency as a helpdesk jockey does not provide sufficient evidence of ambition.

      InfoSec is a very fast-moving part of the government these days. I do security remediation. I create tickets for the local desktop techs. I have 80K+ workstations, not 80K+ users.

      Which certification, exactly? When will you get it?

      Security+ and ITIL this year. The CCNA Security track next year.

      Come on buddy - SMART goals: Specific, measurable, achievable, realistic, and time-bound.

      I'm not in the habit of sharing everything with Slashdot. I reveal one component of my diet, everyone calls shit. I reveal one component of my workout routine, everyone calls shit. I laugh at how much you don't know about me — and what you think you know about me.

      I'll also point out that you've claimed that the IT thing is just "how you pay the bills" until your "content creation" gig starts pouring money into your bank account... but now, we're also to believe that you're actively committed to your tech career? Which is it?

      Both. If you want long-term wealth, you need a job that pays the bills and a side business that generates cash flow. You know I make $50K+ per year from my bill-paying job (which everyone calls shit), but I haven't mentioned how much cash my side business generates. As for the "free" money I get from posting on Slashdot, it's just a drop in the bucket.

    24. Re:Kind of hard to take this seriously.. by Anonymous Coward · · Score: 0

      He is also an author of a great many e-books on Amazon.

  3. Teach everyone to code! by Anonymous Coward · · Score: 0

    I don't think the world's going to need as many coders after 2020.

    Then why are we teaching kids to code when there won't be any coding jobs in 3 years?

    1. Re: Teach everyone to code! by Anonymous Coward · · Score: 0

      Gotta keep 'em busy ya know. What are we supposed to do with them since they're bound for a lifetime of mysery and unemployment? Euthanasizing them would probably be preferable but people gotta be kept in check.

    2. Re:Teach everyone to code! by TheRaven64 · · Score: 3, Interesting

      Why are we teaching kids to write when there won't be as many jobs for scribes in 3 years? Because there are very few jobs that don't benefit from some level of automation and it's increasingly essential that you are able to formulate solutions to problems as programs.

      --
      I am TheRaven on Soylent News
    3. Re:Teach everyone to code! by K.+S.+Kyosuke · · Score: 1

      So that for those programming jobs that will remain, the employers could pick as many of the cheap employees as possible and not have to pay for people who ask for more money.

      --
      Ezekiel 23:20
    4. Re:Teach everyone to code! by arth1 · · Score: 2

      Why are we teaching kids to write when there won't be as many jobs for scribes in 3 years?

      In at least one state, we don't teach kids to write anymore, at least not with a pen or pencil.. Handwriting has become an optional part of the curriculum.

      I thought it was bad when students no longer were taught how to read old cursive or blackletter, so they no longer understood a letter from grandma nor could read old books. But now they don't have to be able to read anything except sans serif, nor write anything that isn't typed on a computer. It does not bode well for when emergencies occur. I also wonder how someone who isn't taught how to use a pen will write a signature. Back to X again? Or hanko stamps?

    5. Re:Teach everyone to code! by gweihir · · Score: 1

      Politicians are usually a few decades behind. This is a symptom of that.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    6. Re:Teach everyone to code! by david_thornley · · Score: 1

      I'm an old fart, and don't remember being taught to read blackletter. If I have to read a book written in it, I'm going to be in trouble. (I can of course write in cursive, and occasionally read what I've written.)

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    7. Re:Teach everyone to code! by arth1 · · Score: 1

      I was taught to read blackletter, at least rudimentary. That could be because I grew up in Europe, where Germany and Denmark continued to use blackletter well into the 20th century, and a great many European newspapers had (and still have!) their name set in blackletter.
      For cursive, I was taught loop style with a fountain pen, where you didn't lift the pen from the paper until you dotted the i's and put a bar over the u (to distinguish it from n and m). A couple of years later, fountain pens were gone, and kids learned D'Neal handwriting.

  4. More Silicon Valley Garbage by Anonymous Coward · · Score: 0

    I guess the idiots with management degrees and silicon valley bullshit bandwagoners think all the missiles, ships, aircrafts, vehicles, control systems, operating systems, cad/cam software, medical systems and pretty much everything that is useful and not related to piece of shit social media is made with:

    of course :
    - Go
    - Angular (I have no idea what this is)
    - Java (!)
    - Css (?)

    Get a hike. There's a real demand for people who are building real things, not the next useless eye-candy fad for venture capitalists to make more money. Go or its ilk servo might become something important one day, but that'll be at least 20 years from now on.

    1. Re:More Silicon Valley Garbage by Anonymous Coward · · Score: 0

      Angular is some web page thing like Jquery I think.

    2. Re:More Silicon Valley Garbage by Anonymous Coward · · Score: 1

      The web is full of shit, overvalued social media marketing shit.

    3. Re: More Silicon Valley Garbage by Anonymous Coward · · Score: 0

      Are web scriptors and designers still demanding to be called programmers?

    4. Re: More Silicon Valley Garbage by shmlco · · Score: 1

      No, they too are "software engineers".

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    5. Re:More Silicon Valley Garbage by Octorian · · Score: 1

      And yet there's plenty of back-end software that's part of the so-called "piece of shit social media" infrastructure that's written in C or C++ too.

  5. Ninety percent of coding is... by tal_mud · · Score: 3, Funny

    "Ninety percent of coding is taking some business specs and translating them into computer logic".

    Business spec: Write a program that determines if any given program halts after a finite amount of time.

    1. Re:Ninety percent of coding is... by Anonymous Coward · · Score: 1

      The halting problem is eggheadity bullshit. A business spec would require the local program be terminated and its process outsourced to a cheaper remote program in the cloud.

    2. Re:Ninety percent of coding is... by Cederic · · Score: 4, Insightful

      Nicely put.

      Low-end AI? Translating user requirements into working software that actually meets their needs is in the same part of the AI difficulty list as cold fusion and solving world hunger.

      If you can actually interpret the business specs without a human putting them into a formal language, you don't need to translate them into computer logic at all. By then the AI can just execute them anyway.

      The moment you need that intermediary step involving a human and a formalised representation.. we call that programming.

    3. Re:Ninety percent of coding is... by Anonymous Coward · · Score: 0

      Also, do those AIs actually write the business spec themselves and then negotiate with the relevant parties of designs, execution, budget, organization "transformations", licensing, knowledge transfer and training? A self-transforming digital company with just a bunch of information inputs and outputs commanding an army of drones, robots, manufacturing lines and autonomous vehicles might sound like a good idea at first. The screams outside of the gates are just angry protestors, I promise.

    4. Re:Ninety percent of coding is... by skovnymfe · · Score: 1

      Consider a company the scale of Google, with hundreds, if not thousands, of software projects ongoing simultaneously. Suppose you assigned an AI to observe which user stories go in, and what code comes out as a result. How many programs would you have to complete before the AI is able to take over a majority of the work involved in building an application? Maybe it can't directly convert user stories, but it could probably handle many of the components that a user story is made of.

      I'd honestly be surprised if they aren't already doing something like this.

    5. Re:Ninety percent of coding is... by angel'o'sphere · · Score: 1

      User Stories are IMHO a bit to low in abstraction and specification.
      They are to much human readable and require human interaction between the coders, the BAs and the customers.

      If you would say Use Cases and Scenarios, that specify much more precisely what Actors are involved and how they interact then you are right.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    6. Re:Ninety percent of coding is... by quarrel · · Score: 1

      This isn't a real issue at all, and does come up in the real world. The answer is just to use a non-Turing complete language.

    7. Re:Ninety percent of coding is... by Anonymous Coward · · Score: 0

      Usually the business specs come in the form of Excel files with poorly washed data. A whole lot of programming is about washing those data to make them fit for automated processing. The errors the users make when entering the data into the spreadsheets is very domain specific, so the code that washes the data and detects errors has to be very domain specific too. To make AI generated code, the AI has to understand the domain, which may be as finely grained as the errors Catalan speakers may be doing in data entry for a Spanish system in the field of clothing retail. It will be very hard to recover the training costs for an AI to handle that programming, compared to having a human analyze the situation and implement the specific code.

    8. Re:Ninety percent of coding is... by w3woody · · Score: 1

      Can this be upvoted beyond +5, Insightful?

    9. Re:Ninety percent of coding is... by Cederic · · Score: 1

      that specify much more precisely

      Or as we call it, programming.

    10. Re: Ninety percent of coding is... by Anonymous Coward · · Score: 0

      Which in turn will outsource it to another program in cloud. The Cloud! It's turtles, all the way down.

    11. Re:Ninety percent of coding is... by Anonymous Coward · · Score: 0

      " But the regional dean of Northeastern University-Silicon Valley has the glummest prediction of all. "If I were to look at a crystal ball, I don't think the world's going to need as many coders after 2020. Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI.""

      Because we all know business has the idea of requirements specification down to a science, that no bugs are ever found there, and all issues are human area in interpreting specs into code. Oh wait.... that's not true now is it?

      Here's the irony, we already sort of have this, they are called COMPILERS (and linkers to a lesser degree). High level languages were a step further removed from the assembly and base code. However, we know that people are not the best at teasing out all the nuance of an idea at once, and what about all the implicit, unstated requirements. like:

      It should never crash. It should not fall over when one of the Kardashians (or some other celebrity) mentions it on their TV show. It should resist potential attempts to breach its core or data.

      The more we think we have it figured out the more we pull a Dunning-Kruger on ourselves and dilute ourselves into thinking we have it all figured out, when in reality, it is far more complex, and gains in complexity every day.

    12. Re:Ninety percent of coding is... by Anonymous Coward · · Score: 0

      I haven't seen any of those Excel sheets in ten years. Its all about user stories and acceptance criteria now.

    13. Re:Ninety percent of coding is... by MooseMiester · · Score: 1

      People write specs now a days? Haven't seen a decent waterfallish spec outside of a F100 company in years.

      --
      Murphy was an optimist
    14. Re:Ninety percent of coding is... by minstrelmike · · Score: 1

      The problem isn't encoding a user story. The problem is getting the correct story from the user. That requires discussion and insight into what they aren't telling you, what their basic assumptions are that you aren't aware of.

      OTOH, if you could do a really fast turnaround and quick update, then you could get user stories direct from the support line and fix the software in real time with AI using real user stories. What could possibly go wrong?

      The internet is down. Can you please reboot it?

  6. Not dead just clueless writer by thegarbz · · Score: 2

    The entire world has gone to Java or .Net

    Wake me when either language runs on small tiny embedded applications.

    1. Re:Not dead just clueless writer by Anonymous Coward · · Score: 0

      The whole IDEA behind Java was to run on small embedded devices. The notion of running it on huge-ass servers only came along later, when Sun realized it only owned one hammer and started looking for nails to pound with it.

    2. Re:Not dead just clueless writer by thesupraman · · Score: 1

      Don't forget to mention 'when they realised that it's resource requirements were horrific as soon as you include the basic set of libraries, which are needed for most used..'

      Java has never been a usable embedded solution, even if they once tried to pretend it could.

      Hell, embedded python is more popular these days, and that's pretty damn shocking.

    3. Re:Not dead just clueless writer by Anonymous Coward · · Score: 0

      >The whole IDEA behind Java was to run on small embedded devices.
      It was and still is shitty idea due to its non-deterministic, bulky nature.

    4. Re:Not dead just clueless writer by Z00L00K · · Score: 3, Insightful

      I agree - a lot of embedded devices are C and even assembly. Especially when you come down to small devices running an 8051 kernel and similar where every byte counts.

      C is also one of the better languages to use if you want a deterministic behavior of your code as long as the coding is done right. Environments like Java and .Net aren't good enough in that area since you have background threads for housekeeping that causes interference.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    5. Re:Not dead just clueless writer by thegarbz · · Score: 1

      The whole IDEA behind Java was to run on small embedded devices.

      False, the idea was that Java was portable between embedded devices. It was never destined for small devices, actually quite the opposite. It was originally envisaged as an interface solution to screens. How big? Well... TVs. Far from "small embedded devices".

    6. Re:Not dead just clueless writer by CastrTroy · · Score: 1

      I guess you've never heard of the .Net Micro Framework. Java also supports embedded systems. Java us actually quite common on embedded devices and they've actually made processors that interpret the Java Bytecode at the hardware level.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    7. Re:Not dead just clueless writer by TheRaven64 · · Score: 1

      Look at the JavaCard spec. Almost all smartcards run it. You'll find it on pretty much every SIM card, every credit card that has a chip, and a lot of corporate door-access cards. Does that count?

      --
      I am TheRaven on Soylent News
    8. Re: Not dead just clueless writer by Anonymous Coward · · Score: 2, Informative

      Yes - the original Oak was meant for resource limited devices.
      But by the time it ended up as Java it no longer fit that requirement and was repositioned as Enterprise software building environment - and it's fairly successful as that. But the JVM and base libraries are now totally unfit for most cheap embedded devices. Which explains why it's not used for that.

    9. Re:Not dead just clueless writer by Anonymous Coward · · Score: 0

      Bytes don't matter any more.

      If you don't have enough then you are using the wrong chip, spend another 5 cents rather than spend the next 5 months coding for the wrong one.

      HHL languages for embedded stuff has been around for ages, assembly coding is getting rare these days.

    10. Re:Not dead just clueless writer by Anonymous Coward · · Score: 0

      Java us actually quite common on embedded devices and they've actually made processors that interpret the Java Bytecode at the hardware level.

      I remember that being a thing a decade or more ago, but I haven't heard of anyone using Java hardware lately. Maybe it's just a case of people not really being aware of what is going on around them, like this guy:

      The entire world has gone to Java or .Net

      For me, I personally work at a rather large web hosting company, and while we do have thousands of Windows servers, they have not really gone up or down in quantity in the last 5 years or so. I would call it a stable business, at least as far as I know, and I don't try to predict the future. The number of Linux servers is obviously the vast majority and shows no sign of slowing down as we keep having to build more data centers, even with probably half our business being virtual machines now.

      I remember hearing about someone wanting Java / Tomcat on their server probably every few days back in around 2009 or so. If I hear about it anymore, it's with a groan as someone notices a customer has a Java process maxing out their ram or cpu, and inevitably it's one of those old servers still in production.

    11. Re:Not dead just clueless writer by angel'o'sphere · · Score: 1

      Well... TVs
      A set-top-box is not a TV. And the software running on it is not running in the TV either, and where never supposed (at that time) to have a rich GUI.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    12. Re:Not dead just clueless writer by Anonymous Coward · · Score: 0

      Seriously? What drugs are YOU on- so I can fucking avoid them?

      Best you look at all the little "grain of sand" processors- and best you never get before me on an interview, because I'll pass on your stupid fucking ass. Every penny counts on devices in the half million plus units on a SKU basis. At those prices, your fucking 5 cents just cost the company making the device some 2.5 MILLION dollars. If it can be done for 5 cents less, they will DO it.

      Like I said...I'd pass on you if I was hiring, and I'd find a way to get you gone if you were already employed. You're part of the PROBLEM there and dumber than a box of rocks...and I just insulted the rocks and the box with the comparison.

    13. Re:Not dead just clueless writer by Anonymous Coward · · Score: 0

      And almost nobody USES it.

      Just because it's a spec doesn't mean it's particularly, you know, usable...or even implemented.

    14. Re:Not dead just clueless writer by omnichad · · Score: 1

      It was originally envisaged as an interface solution to screens. How big? Well... TVs.

      And that's exactly what happened.

    15. Re:Not dead just clueless writer by lucasnate1 · · Score: 0

      C is also one of the better languages to use if you want a deterministic behavior of your code

      Two words, undefined behavior.

    16. Re:Not dead just clueless writer by Anonymous Coward · · Score: 0

      They where also talking about phones, pdas and watches at that when they announced Java.

    17. Re:Not dead just clueless writer by chihowa · · Score: 1

      $0.05 * 500,000 units is $25,000, not $2.5 million. I hope you never get before me in an interview!

      I agree with cost saving when appropriate, but I agree even more with checking the results of your calculations before believing them and calling other people stupid asses.

      --
      If you want a vision of the future, imagine a youtube comments section scrolling - forever.
    18. Re: Not dead just clueless writer by Anonymous Coward · · Score: 0

      There are such processors but can they run on the micro amp range? I think C will stay for long.

    19. Re:Not dead just clueless writer by Octorian · · Score: 1

      One big problem with some of these "embedded" flavors of Java and .NET is that they cut down the libraries by stripping out way too much of the useful bits. So as a result, every application running in these environments has to re-implement everything in their own code.

      Probably why the more successful "modern" embedded implementations are trying to use the full versions, or something closer to it.

    20. Re:Not dead just clueless writer by thegarbz · · Score: 1

      What the hell are you talking about? Set top boxes was just one of the places that this was destined for, and the whole purpose of creating this was because of the overly simple interface of the time.

      Look at the TVs that came out after. Hell look at them now. I'll bet you a Marsbar a portion of your interface is written in Java. Bonus points for actually being built on top of Android.

    21. Re:Not dead just clueless writer by thegarbz · · Score: 1

      Exactly, not small embedded. Hell didn't Samsung just release a quad core Smart TV? Calling TVs small embedded devices is an insult to even big embedded devices.

    22. Re:Not dead just clueless writer by thegarbz · · Score: 1

      It would count if it where the Java that TFS is talking about. But it's not.
      It would also count if JavaCard programmers made up any significant portion of Java programmers, but they don't either.

      Let's face it, when TFS mentioned Java in the same breath as .NET they firmly bound themselves to the languages of enterprise services and cloud garbage.

    23. Re:Not dead just clueless writer by angel'o'sphere · · Score: 1

      I'm talking about the inception of Java, not where Java is right now.

      No idea about your TV though. I have no TV.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    24. Re:Not dead just clueless writer by lgw · · Score: 1

      The entire world has gone to Java or .Net

      Wake me when either language runs on small tiny embedded applications.

      They work fine on phones. Phones were "tiny embedded applications" for most of my life. Now they run a full OS and Java or C# easily. Funny old world. You don't think it will be common for, say, a microwave to run Linux and Java soon enough? That that won't be a $0.25 chip?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    25. Re:Not dead just clueless writer by spongman · · Score: 1

      ilmerge is your friend

    26. Re:Not dead just clueless writer by Zero__Kelvin · · Score: 2

      Undefined behavior is the definition of the behavior. It is literally in the the spec. It says: Don't do this if you want it to be portable; the behavior cannot be guaranteed from compiler/target to compiler/target. Complaining about it broadcasts a lack of understanding on your part of the standard, not a fault with the language.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    27. Re:Not dead just clueless writer by thegarbz · · Score: 1

      They work fine on phones. Phones were "tiny embedded applications" for most of my life.

      I remember my first "smart" phone that ran Java based software, the main OS however was not. As soon as anything Java loaded the phone instantly became completely unusable to the point where in the 4 years I had it I never used the browser or any Java applet more than once.

      You're talking about advancement but you didn't talk about a reason. Consumers drove the smartphone advancement, but that hasn't caused billions of devices in the world to suddenly pack on features they don't need, and that says nothing of real time programming that Java simply isn't capable of.

      Microwave? I supposed you want an Internet Of Things connected Microwave that could work via voice recognition? It think the vast majority of the world couldn't think of anything worse.

    28. Re:Not dead just clueless writer by Anonymous Coward · · Score: 0

      I think you are discounting the wonders that are contained within the .NET Micro Framework. Kidding aside, you CAN create small tiny embedded applications in C#. Whether you want too is another question.

    29. Re:Not dead just clueless writer by maestroX · · Score: 1

      Wake me when either language runs on small tiny embedded applications.

      You're in a coma, smartcards already did 15 yrs ago

  7. Languages are tools, not jobs. by Oscaro · · Score: 5, Insightful

    I hate this fact that "java programmer" is considered by some people a different job than "C++ programmer". A good programmer should be able to learn a language in a month and become proficient in three months at most. Functional languages apart, all languages are more or less the same. It doesn't matter if your hammer has a red handle or a green one, as long as you know how to hammer.

    1. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      Any competent programmer should be able to maintain software written in any language provided a reference manual for the language.

    2. Re:Languages are tools, not jobs. by phantomfive · · Score: 3, Insightful

      Because the person who can use the language today is more valuable than the person who can use the language in three months.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      The algorithm matters more than the language. Even if you're intimately familiar with the language, you'll spend those three months figuring out how all the undocumented spaghetti code fits together.

    4. Re:Languages are tools, not jobs. by serviscope_minor · · Score: 5, Insightful

      I hate this fact that "java programmer" is considered by some people a different job than "C++ programmer". A good programmer should be able to learn a language in a month and become proficient in three months at most.

      Yesbut. There's also a difference between proficient and expert. Becoming an expert in either takes much, much longer. For example a friend of mine is an expert in Java. I can hack code in the language and do plenty of things. He seems to have committed half the standard library to memory and knows the JVM in depth too. There's all sorts of weird and wonderful stuff you can do if you know those manipluations.

      It would take me many years to reach his level.

      It doesn't matter if your hammer has a red handle or a green one, as long as you know how to hammer.

      Unless the hammer has a wooden head and is used for knocking chisels. It takes a long time to learn how to do that effectively no matter how well you can smash rocks with a sledge.

      --
      SJW n. One who posts facts.
    5. Re:Languages are tools, not jobs. by Anonymous+Brave+Guy · · Score: 4, Insightful

      This is a popular conceit, but it's still a conceit. The skills and concepts and idioms you need to work with dynamically typed "scripty" languages to write a web app are quite different to the ones you need to to work with high performance systems programming code to write device drivers, and those are different again to the ones you need to implement a compiler in a functional programming language. Programming is a vast field, and experience in one part of it doesn't necessarily make someone any good at working in another part of it just because there's a reference manual.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    6. Re:Languages are tools, not jobs. by Maxo-Texas · · Score: 2

      You kinda underestimate the number of java libraries.

      And recognizing that you need to use the library because you already know it exists isn't something you can pick up in a month.

      If you are simply coding then sure. You can rely on an experienced programmer to know what's needed and simply code.

      Here's a good start..

      http://blog.takipi.com/the-top...

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    7. Re:Languages are tools, not jobs. by Anonymous+Brave+Guy · · Score: 2

      And understanding the domain and real world requirements often matters more than knowing any particular algorithms or data structures. However, someone who understands those things and knows well the programming language being used is still going to get better results than someone who understands those things but isn't as familiar with the programming language.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    8. Re:Languages are tools, not jobs. by Sique · · Score: 1

      I don't think so. Knowing a language does not only mean that you are able to write a syntactically correct program which compiles and does what it is supposed to do. It means that you have intimate knowledge of all the libraries and toolsets and coding environments that come with the language. And this is the real treasure of knowledge that makes the difference between a newby to the language and the seasoned programmer. If you have enough experience you know which things are already invented, and how to use them, and which ones you have to invent yourself.

      --
      .sig: Sique *sigh*
    9. Re:Languages are tools, not jobs. by scsirob · · Score: 1

      That's like saying that any welder should be able to be a proficient carpenter in a short time span. Or anyone who speaks English should be able to speak Mandarin on a proficient level in three months. Programming languages are indeed tools, but being proficient at handling those tools is a skill that takes time to develop. Retraining after many years isn't a given for everyone.

      --
      To Terminate, or not to Terminate, that's the question - SCSIROB
    10. Re:Languages are tools, not jobs. by thegarbz · · Score: 1

      all languages are more or less the same

      It doesn't matter if your hammer has a red handle or a green one, as long as you know how to hammer.

      These two statements show just how narrow your view is on a large variety of topics. There are a wildly different set of hammers out there which need different techniques to get what you need. Would you use a sledge hammer like a watchmaker's tool chaser? Of course not. Both are completely different in every way including holding, body movement and problem.

      Likewise I don't expect someone who grew up learning how to program brainfuck to understand the first thing about Java. For bonus points without googling what does this code do:
      ++++++++[>++++[>++>+++>+++>++>+>->>+[>.>---.+++++++..+++.>>.>+.>++.
      You lose all points if you've read the wikipedia page.

      Languages are fundamentally different both in programming and in real life. If you speak German you can easily lean Dutch or English. They are Germanic languages. Romance languages are a bit different but once you learn one switching to another isn't all that difficult. But maybe you're proficient in all the languages of European origin. Well that won't help you very much when you come across a Sino-Tibetan language like Mandarin.

    11. Re: Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      But I am a bad programmer, so the distinction is important, because I can't do C++ or Java, I tried and always fail, they just don't click in my head. I am a python programmer, a lua programmer, a haskell programmer. But that's it.

    12. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 1

      I conceptually agree, but have you ever gone back and fixed code you wrote professionally 3 months into learning a new language?

      I have and it was... interesting... Don't get me wrong, the code was decent, but one could clearly see that it was written by a beginner. Some of it had to be fixed and some had to be refactored, mostly due to the fact that I didn't fully grokk the libraries/APIs at that time.

    13. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      It depends quite a lot which domain you are working in though.

      I wouldn't just pick an off the shelf Java programmer and say "You have 1 month to learn C and then you're off to hack on the Linux kernel".

      Yes, you can learn a new language in a few months, it does not mean you will be a useful programmer using that language though.

    14. Re:Languages are tools, not jobs. by Hognoxious · · Score: 1

      If you speak German you can easily lean Dutch or English.

      But you won't be proficient in three months (the original claim by Oscaro) unless you're some kind of weirdo genius.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    15. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 1

      Depends on that language. If you think that the skills to decent code in any of those languages differs, I'd call you full of shit.

      Now, if you'd claim that peak performance, virtuoso, levels of performance comes from that Understanding, I'd be more inclined to agree, but still call you full of shit.

      It's not that special or different. After 17 differing languages, soon to be 18 mastered, I can tell you, up-front, YOU ARE FULL OF SHIT.

    16. Re:Languages are tools, not jobs. by TapeCutter · · Score: 1

      To be fair, the GP said "competent programmer" and "maintain" (not architect). The broad range of concepts you speak of are covered in any reputable computer science degree. When walking into a maintenance job you don't need to remember the details because the algorithms are already carved in legacy code.

      As someone with 30yrs experience as a degree qualified coder, I'd say that system/application specific business "logic" is more important, and harder to come by, than language skills when maintaining old code. In my experience a new hire on a medium sized legacy project ( 20-30 ppl) will take at least six months just to come up to speed on what the system/application is supposed to do, and that's assuming he has the relevant domain knowledge and language skills

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    17. Re:Languages are tools, not jobs. by dbIII · · Score: 1

      This is a popular conceit, but it's still a conceit. The skills and concepts and idioms you need to work with dynamically typed "scripty" languages to write a web app

      So?
      Aren't you supposed to learn both as you are initially getting you feet wet in learning how to be a programmer?

    18. Re:Languages are tools, not jobs. by dbIII · · Score: 1

      Very bad analogy.
      A lot of programming languages are very similar to each other. It's not going to take a couple of years for a Java programmer to pick up C#. Even things like Lisp don't take a long time to get your head around even when you are only used to languages based on different concepts.

    19. Re:Languages are tools, not jobs. by swillden · · Score: 1

      Because the person who can use the language today is more valuable than the person who can use the language in three months.

      Both can use the language now, the former will just be faster at first. Within three months, any difference in effectiveness will arise from cognitive ability, work habits and background knowledge -- especially domain knowledge. Unless those are exactly equal (and they never are), by the end of a year, total productivity for that year will depend entirely on those things; which one came in knowing the language will be irrelevant.

      Unless you're hiring for short term contracts, "languages known" is generally among the least important elements to consider when hiring.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    20. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      It's not just learning C++ or Java. Nobody just wants a C++ programmer, they want a C++ programmer who knows API's like STL and Boost. Add in some multithreading experience, network programming with TCP/IP, GUI

    21. Re:Languages are tools, not jobs. by toonces33 · · Score: 1

      Not only that the libraries exist, you need a sense of which ones are of decent quality and which ones are not. And you start to get very complex dependency trees, with multiple versions used by the same application. And then you get the bloat that is caused by the fact that some library gets included because you need a very small subset of functionality.

    22. Re:Languages are tools, not jobs. by toonces33 · · Score: 1

      Unfortunately management oftentimes doesn't want to pay for the proficient expert - they see programmers as interchangeable cogs, and they frequently go with what on the surface seems cheapest.

    23. Re:Languages are tools, not jobs. by gtall · · Score: 1

      Many fields require significant domain knowledge. Care to try your hand at astronomy applications? Or chemistry, or biology? Those are not fields where someone without extensive training in the field and with a mere programmer background can do well in.

    24. Re:Languages are tools, not jobs. by chihowa · · Score: 2

      I've found early code where I reimplemented standard library functions (though not as generalized), with accompanying comments that said, "I can't believe that this isn't a standard function!"

      It was pretty decent code and I was impressed with the logic, but what a huge time sink all of that was!

      --
      If you want a vision of the future, imagine a youtube comments section scrolling - forever.
    25. Re:Languages are tools, not jobs. by jon3k · · Score: 3, Interesting

      A good programmer should be able to learn a language in a month and become proficient in three months at most.

      This isn't, and shouldn't be, the case. There is a huge demand for work in higher level languages that can be done by less skilled programmers. Most of them wouldn't be capable of programming in C, and that's ok. If ALL programming needed to be done by a programmer who could become proficient in any language in three months we'd be 50 years behind in our use of software as a species. We could be pedantic and call that "scripting" and not "programming" but that's obviously a specious distinction.

    26. Re:Languages are tools, not jobs. by dwpro · · Score: 1

      'Decent' is a pretty low bar, and language is just the beginning of it. Compilers, tool chains/libraries, platforms, process handling, and application life-cycles all can have design breaking impacts on any reasonably complicated code, and you will have no way of knowing these things by reading a language reference manual. The glaring bugs in the English language application above makes me doubt your 17 language mastery claim.

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
    27. Re:Languages are tools, not jobs. by pipingguy · · Score: 1

      "It doesn't matter if your hammer has a red handle or a green one, as long as you know how to hammer."

      This reverse of this concept severely restricts employment opportunities in the CAD world. If you don't have 10 years experience with software that's only been around for 5 years - no job for you!

    28. Re:Languages are tools, not jobs. by Anonymous+Brave+Guy · · Score: 2

      I've been learning how to be a programmer for more than 30 years and doing it professionally for more than 20. I've worked on code from web front-ends to high performance number crunching, via databases and device drivers. I've written production code in my share of different languages and in a variety of programming styles.

      However, I'd still say I'm only "initially getting my feet wet" when I start many new projects, compared to someone who really understands that particular area. I'm a competent programmer by any reasonable standard, but I would never presume that I was qualified to maintain software written in an unfamiliar language and style just because that language came with a reference manual.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    29. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      I hate this fact that "java programmer" is considered by some people a different job than "C++ programmer".

      It is a different job because the latter is proven to be smarter, and the former is likely to be productive on day one.

      In my experience, you can tell a C++ programmer to write Java, and they will do it. They may need a lot of style code-reviewing. They may need pointers to "frameworks" that the Java programmer would find on their own because they're used to spending half their time browsing libraries. And they may quit because java is not fun. But it's certain to work.

      Java programmers told to write C++ will wash out about half the time because they aren't smart enough. The ones that don't will refuse to write Java again so it's a one-way transition.

    30. Re:Languages are tools, not jobs. by Anonymous+Brave+Guy · · Score: 1

      The broad range of concepts you speak of are covered in any reputable computer science degree.

      Perhaps, but only at the most elementary of levels. There is quite a difference between understanding basic memory management in C and hacking on the Linux kernel, or between understanding the general idea of functional programming and maintaining a large-scale production system written in Haskell.

      It looks like we have similar levels of experience and we'd agree on almost everything else you mentioned, particularly the parts about learning the domain often being harder than learning the language skills. But I think you do still need a certain facility with the language and libraries you're using, even as a maintenance programmer, if you're not going to know just enough to be dangerous. I wouldn't assume that a programmer who was generally competent with the programming language(s) they'd used previously would necessarily acquire that facility quickly in a different language without help, unless the new language was very similar to something they'd used before in its programming style and idioms.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    31. Re:Languages are tools, not jobs. by Anonymous+Brave+Guy · · Score: 1

      Exactly. I've been programming a long time, and I've been lucky to work with a few very capable developers during my career. Some of the best had probably mastered as many as 2 or 3 different programming languages. I doubt any of them would have claimed mastery of more than that.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    32. Re:Languages are tools, not jobs. by thegarbz · · Score: 1

      Nope, but I did get my B2 proficiency in Dutch in 4 months with a background in German and English. And my brother inlaw did get his German B2 in 5 months coming from just English though it did a pretty intensive course.

      If you think it's very difficult then you've never compared the languages. Hell you can guess most of Dutch just by making German sound a bit more English. The structures of the languages have a lot of similarities between them to the point where there's 3 languages but really only 2 structures. There are a few notable problems though like:

      Who in English = Wie in Dutch = Wer in German.
      How in English = Hoe in Dutch (pronounced Who) = Wie in German.

      You can always tell which language people learnt first when they use these words.

    33. Re:Languages are tools, not jobs. by Sique · · Score: 1

      I've seen worse. A customer of mine hired a replacement for the position of IT administrator. What they were asking for in the classified was "Word and Excel knowledge". They got someone who was able to use Word and Excel. But after some time, I gave up teaching him how to read IP addresses.

      --
      .sig: Sique *sigh*
    34. Re:Languages are tools, not jobs. by gweihir · · Score: 1

      I fully agree. The thing is, to borrow terminology from other technological disciplines, most programmers these days are mere technicians and usually bad ones. You are describing what a good engineer does. Bad technicians will never be paid well, never have good job prospects and often get replaced long-term entirely. Good technicians (which is a small subset of them) and good engineers do not have that problem. Good technicians stay on to maintain the tech they know forever and learn a bit in addition over time. Good engineers learn new stuff constantly and over time build up an impressive array of tools they can wield competently.

      That is why 90% of all people writing software are not in any good position job-wise and prospects-wise: They are just not good at it. The rest has a pretty golden future.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    35. Re:Languages are tools, not jobs. by gweihir · · Score: 1

      I disagree. It may seem so on your level of skill, but advance enough and that distinction vanishes.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    36. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      Ahhhhh, I love the smell of elitism in the morning!

    37. Re:Languages are tools, not jobs. by Anonymous+Brave+Guy · · Score: 1

      I disagree. It may seem so on your level of skill, but advance enough and the distinctions come back. :-)

      (In case you think I'm the guy who's a year out of university and only ever programmed Java and Python so he hasn't spotted the common patterns yet, you might like to check my recent posting history. I'm not that guy.)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    38. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      Conceit? No, you're showing ignorance.

      A computer scientist should be able to work with dynamically typed "scripty" languages, systems oriented code, and functional languages all equally. Don't forget A.I. techniques and distributed systems as well. To be deficient in any is to not really understand your field. While there are lots of competing tools, the principles that those tools follow are fairly few, and programming itself is NOT the vast field you claim.

    39. Re:Languages are tools, not jobs. by Anonymous+Brave+Guy · · Score: 1

      A computer scientist should be able to work with dynamically typed "scripty" languages, systems oriented code, and functional languages all equally.

      A computer scientist has very little to do with programming at all.

      Even if you were trying to sound smart there and you actually just meant a competent working programmer, your claim would still be silly. It takes significant experience to write sound, idiomatic code in each of the fields you mentioned. Someone blundering in thinking they know what they're doing and trying to apply the conventions and practices from a very different style out of context can easily do more harm than good, introducing subtle bugs, unexpected performance characteristics, or simply leaving corner cases as traps for the unwary later.

      To be deficient in any is to not really understand your field.

      No-one really understands everything in programming. You could spend a lifetime studying what we've already built today and still not be an expert on all of it, even if nothing was changing along the way.

      If you don't think the programming field is that vast, you just haven't seen enough of it yet.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    40. Re:Languages are tools, not jobs. by CanadianMacFan · · Score: 1

      I was in a job when we got a new CIO. He came in to see the web group (mostly Java programmers, couple analysts, couple graphic designers, a few project managers to deal with clients, and a group of five that handled legacy applications in C/Perl/PHP/Java along with the Apache configuration). When the CIO called us interchangeable cogs I actually felt the morale drop in the room. That was the second time in the meeting it happened. The first time was when he said he knew nothing about the Internet.

    41. Re:Languages are tools, not jobs. by Hognoxious · · Score: 1

      Not a couple of years. But not three weeks either.

      And have you ever worked on a job using two similar languages? I have & it's bloody confusing. Might not have been so bad if it involved switching over each Wednesday lunchtime, but sometimes it was ten of this then fifteen of that and back again.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    42. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      A good programmer should be able to learn a language in a month and become proficient in three months at most.

      I've seen plenty of code written by people with your attitude over the years and you know what? You're wrong. After three months spent learning a language you may think you're doing things right, but actually you don't know what you don't know. I've had to come in and fix the messes left behind by people like you, often with a complete rewrite, and explain to incredulous users that their ex hot-shot coder basically left them with an unworkable mess on his way out the door to his next short term coding gig. Frankly, it would be better if people like you just picked something, actually learned it and then stuck with it. This whole, "I could learn that in a weekend" mentality, which is especially prevalent among web developers, is a big part of what gives our profession a bad name. Have some respect for experts and remember that the last thing the professional programming world needs is more of your cowboy hacker mentality.

    43. Re:Languages are tools, not jobs. by Hognoxious · · Score: 1

      I'm not one of those people (they're normally called Americans) who think English split off from Latin in 1066, so I am aware of the relatedness of those languages. s/ij/ei/ for example.

      But the point was about proficiency. Could a person get good enough to work as say an actor or newsreader in that time? I don't think so.

      I'm not sure I'd want anyone who codes like they're mumbling changing anything important.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    44. Re:Languages are tools, not jobs. by Tony+Isaac · · Score: 1

      I think such specialized fields are extremely rare. I've worked in the medical industry, construction, education, and even DNA analysis. In every case, I've been able to pick up the domain knowledge after being hired. I have friends who have gotten jobs with NASA literally learning rocket science on the job. It's hard to imagine a field where this would not be possible.

      This works because, as a programmer in any field, you work with a subject matter expert who works with you to develop the software. It's not necessary for the programmers to understand the intricacies, they just have to be able to write code to spec.

    45. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      A wise answer

    46. Re:Languages are tools, not jobs. by gweihir · · Score: 1

      Being blind to more abstract views and approaches is not a question of experience and age. Some people have it, some do not. I have seen it countless times. The point is that most people cannot advance enough. You may just be in that group, sorry.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    47. Re:Languages are tools, not jobs. by Anonymous+Brave+Guy · · Score: 1

      It is fascinating how easily some people assume that they know better than you because you have a different point of view to theirs. I haven't the slightest interest in getting into an anatomy measuring contest with you, but you might like to consider the possibility that you're not the only poster on Slashdot today who has been doing this a while and spent time thinking about these things, and that other people might simply have reached other conclusions.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    48. Re:Languages are tools, not jobs. by Zero__Kelvin · · Score: 1

      I hate the fact that people like you don't get that a Java Programmer is not at all the same as a C++ Programmer, and that neither is a software engineer. I also hate that you put them in quotes as if they aren't legitimate terms. I especially hate the fact that you were modded insightful. Being a competent C++ Programmer takes years. People who think they can do it in a few months are the same people who never become competent at all. Finally, comparing the two to hammers with different colored handles is phenomenally absurd. HTH

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    49. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      nope, if your any good, then you wont need to, 2 mins with google will tell you.

      fuck me, I didn't know there are that many idiots who seem to have jobs as programmers.

      As long as you understand the main underlying blocks used for programming and how to find the library you need, the fucking language is irrelevent.

      A good programmer doesn't even need to know standard fucking patterns, if they are any good the patterns emerge naturally.

    50. Re:Languages are tools, not jobs. by gweihir · · Score: 1

      Of course. I might be blind as well, or we may just have different approaches to the same problem space, equally valid, but mine is far more language agnostic than yours. Whether that is better or not depends, as usual.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    51. Re:Languages are tools, not jobs. by thegarbz · · Score: 1

      Could a person get good enough to work as say an actor or newsreader in that time? I don't think so.

      Unlikely. But B2 is mid-advanced and the cut-off required for general employment in Germany. You're most definitely right about "important" things. I wouldn't want someone who isn't absolutely familiar with a language coding something security or safety related. That said this is just a small subset of coding projects.

    52. Re:Languages are tools, not jobs. by Anonymous Coward · · Score: 0

      IMO moving between managed to unmanaged memory is a big deal. It's true that a person could do that, and a good programmer would do it smoothly, even the best would take time to get truly proficient.

    53. Re:Languages are tools, not jobs. by dbIII · · Score: 1

      Yes, but it's not really full mastery being discussed is it?
      My first exposure to python for example was to fix some errors in somebody else's code due to them not having enough background in mathematics to solve a problem. The simple stuff is possible just being able to look up the syntax and having done some work in vaguely similar languages earlier. I'm definitely not special, it's a skill every programmer gets at some point IMHO - even starting off on FORTRAN and LISP like I did.

    54. Re:Languages are tools, not jobs. by houghi · · Score: 1

      Ah. So a hammer is just a hammer for you? No matter if it is a sledge hammer or a soft faced hammer or ... https://me-mechanicalengineeri...

      The person that beaks down a wall uses a hamme, just like the person that makes jewelery. Both know how to hammer, but the ability to use THEIR hammer makes the job different from the other persons job.

      --
      Don't fight for your country, if your country does not fight for you.
    55. Re:Languages are tools, not jobs. by 0ld_d0g · · Score: 1

      Maybe, but the apart from the language, there's the libraries. You have to know where the bugs are in the language, and libraries. Which parts of the language+library are slow/buggy/brittle vs more robust parts. That is not something you can figure out in a few months. But OTOH, it seems like amateur programmers putting out crap all these years has lowered the bar for software so much, that bugs are simply accepted.

      But to your first point, I think it carries over to other domains. If I have a honda, I'm not going to go to a toyota mechanic (assuming they can get all the parts, yada yada). Its just how people who are outside of that domain approach it practically.

    56. Re:Languages are tools, not jobs. by david_thornley · · Score: 1

      C# and Java are very similar. Try Scheme and C, or Forth and almost anything.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    57. Re:Languages are tools, not jobs. by Anonymous+Brave+Guy · · Score: 1

      There's a long scale between "knows nothing" and "full mastery", though. If we're talking about someone making non-trivial changes to existing code or doing new development work, then in my experience competence arrives somewhere in the middle of the scale, and is almost invariably accompanied by significant experience with the actual language/libraries/tools being used and in the same field as the application being developed.

      However, between "knows nothing" and that "competence" region on the scale, there is also the "knows just enough to be dangerous" region. This is where someone with a general programming background but experience only with other tools or areas of application tends to land, and how far up tends to depend on how close what they've used or done before is to what they'll be using or doing now.

      Now, it's certainly possible that someone who has broad general programming skills, joining a project using a new language but one that is very similar in style to things they've done before, will arrive already close to the top end of the "just enough to be dangerous" region, and will then learn quickly and soon be able to move to the lower end of "competence".

      But I still think it's a nonsense to suggest that any "competent" programmer would necessarily land so far up the scale working on any new project written in any new language without considering how similar it was to anything they'd done before. Someone could be a fine programmer with significant skill and experience in writing the back-end of web sites using Ruby or Python, yet not have the slightest clue how to organise a large-scale distributed telecom system written in Erlang. Someone could be a wizard at developing that Erlang telecom system, yet not have a clue how to write tight C code that can run on an embedded device with very little memory.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    58. Re:Languages are tools, not jobs. by dbIII · · Score: 1

      C# and Java are very similar

      Which is why I chose them as examples and used the words "are very similar to each other".
      The analogy of comparing them to spoken languages is completely broken in such cases. It takes a long time to learn a new spoken language - coding not so much since there's a good chance that a coder already knows something similar and there is nowhere near the amount of syntax as in a spoken language anyway.

    59. Re:Languages are tools, not jobs. by david_thornley · · Score: 1

      C# to Java is something like being fluent in Danish and wanting to learn Swedish. C# to Forth is more like being fluent in Danish and wanting to learn Mandarin. The difference between two dialects of one language and two languages is very often whether there's a national border involved.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    60. Re:Languages are tools, not jobs. by dbIII · · Score: 1
      Even as a engineering student that was not expected in the 1980s to do a lot of coding in the future I was expected to learn FORTRAN, Lisp, and Pascal at a minimum.
      If professional coders have not picked up a few very different types of coding I think they have failed in their training or education.

      Danish and wanting to learn Mandarin. The difference between two dialects of one language and two languages is very often whether there's a national border involved

      Now that's just getting silly. The analogy is incredibly badly broken beyond a trivially superficial level. It's many times easier for a Java programmer to pick up Forth than a European picking up an Asian language. They are only called programming languages because of a need to distinguish between different types and not due to any real resemblance with languages containing many thousands of words.

    61. Re:Languages are tools, not jobs. by david_thornley · · Score: 1

      FORTRAN, Lisp, and Pascal is a good basis to go on.

      There are quite a few similarities between computer and human languages. It was years after I heard of Chomsky that I realized he wasn't a computer scientist. Anyway, the ability to use different computer languages effectively depends on being able to think about programming in different ways, so moving from one to another isn't necessarily trivial.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    62. Re:Languages are tools, not jobs. by dbIII · · Score: 1

      effectively depends on being able to think about programming in different ways

      Just like other different areas of mathematics but almost totally unlike other areas of linguistics.

  8. Does IoT rings a bell ? by AncalagonTotof · · Score: 1

    Just an example of how this is wrong, taken in one of the most hype domain now days : IoT.
    Show me a JVM running on something like an STM32F0, or their low power counterparts.

    By the way, I'm looking forward to the days when C/C++ programmers will be rare ... And expensive !
    Like Cobol programmers that maintain very old systems, because attempts to replace these systems with Java based solutions are failing ...

    --
    Totof
    1. Re:Does IoT rings a bell ? by PolygamousRanchKid+ · · Score: 4, Funny

      By the way, I'm looking forward to the days when C/C++ programmers will be rare ... And expensive !

      The year 2038 will be our year!

      "If you don't hire me to inspect your C code for time_t usage, your IoT toaster oven will go berserk, and kill and eat your grandmother!"

      "Oh, look! A time_t field in a structure that gets passed over only God knows where, and gets cast haphazardly as a pointer throughout the code! How cute!"

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    2. Re:Does IoT rings a bell ? by 0ld_d0g · · Score: 1

      You probably could use an android device to build an IoT product.

      C++ programmers will be rare, but so will the jobs.

      Like Cobol programmers that maintain very old systems, because attempts to replace these systems with Java based solutions are failing ...

      Such as?

  9. hmmmm by phantomfive · · Score: 2

    C and C++ coders will soon be as obsolete as Cobol programmers. "The entire world has gone to Java or .Net.

    My God, no! I'd rather program in brainfuck

    --
    "First they came for the slanderers and i said nothing."
    1. Re:hmmmm by Anonymous Coward · · Score: 1

      C C++ C# Java are all pretty much the same. Cobol has more in common with Brainfuck.

    2. Re:hmmmm by Hognoxious · · Score: 1

      So how do you define a function (and I specifically mean a function) in Java?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    3. Re:hmmmm by Anonymous Coward · · Score: 0

      That is easy, you need a bit of syntactic-vinegar around the function; a class.

    4. Re:hmmmm by gweihir · · Score: 1

      You think? You cannot have much experience in any of them (or with coding in general), if you think that similarity in syntax makes for similarity in language.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    5. Re:hmmmm by Hognoxious · · Score: 1

      I should have explicitly specified "... without using some horrid kludge".

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    6. Re:hmmmm by lgw · · Score: 1

      Why would you want to define anything in the global namespace? That's just icky. Java functions mandate a non-global namespace, is all.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    7. Re:hmmmm by Hognoxious · · Score: 1

      Does the ratio of the hypotenuse to the adjacent for a particular angle change depending on where I call it from?

      lang.Math my arse. Have you ever seen a Math?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    8. Re:hmmmm by lgw · · Score: 1

      You're upset about slight different syntax in the include statement?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    9. Re:hmmmm by BarbaraHudson · · Score: 1

      namespaces only have relevance when you have two functions with the same name but want different return values (same name and different parameters is handled by overloading). The proper term in java is package, not namespace, even though they perform the same scoping as namespaces in c++. As long as there are no name clashes, just use the import keyword and you no longer have to use an FQN.

      You also don't need to import java.lang - it's automatically imported, so you have access to Math.whateverfunction() and Math.someconstant without calling it through java.lang. Additionally, if you omit the package statement while writing a class definition, the class name is placed into the default package, which has no name. The Java compiler automatically imports this package.

      It's not "icky" - it's a feature designed to make things simpler, and to the programmer it pretty much looks the same as a global namespace in c++.

      Also, since all methods of Math are static, there is no reason to instantiate an object of the Math class, so you're right, you wouldn't create a Math object - you'd just call the existing static methods and values in the Math package. If you do try to create a Math object, you're doing it wrong. And the programmer for some reason doesn't know how to use classes that only have static methods and values properly, same situation as in c++.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    10. Re:hmmmm by phantomfive · · Score: 1

      You can define it in Global and then call it like this:

      Global.function();

      --
      "First they came for the slanderers and i said nothing."
    11. Re:hmmmm by Hognoxious · · Score: 1

      A [mathematical] function is a free-standing thing. Attaching it to a class "because OOP" adds nothing apart from verbosity.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    12. Re:hmmmm by Hognoxious · · Score: 1

      It's unnecessary verbosity.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    13. Re:hmmmm by Anonymous Coward · · Score: 0

      No, brainfuck programs you...to walk away from any computer.

      Anyone want to play D&D, you know, on paper with dice??

      #unplugged

    14. Re:hmmmm by lgw · · Score: 1

      Protip: I've never actually typed an include statement in Java. My IDE magically takes care of that. I usually need to type only the first couple letters of any library function name, as well.

      Also, I can use two libraries that happen to have a function with the same name. Strange but true (much like C++ namespaces).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    15. Re:hmmmm by Anonymous Coward · · Score: 0

      Does the ratio of the hypotenuse to the adjacent for a particular angle change depending on where I call it from?

      lang.Math my arse. Have you ever seen a Math?

      Yes, actually it does, because you're assuming Euclidean coordinates.

    16. Re:hmmmm by Anonymous Coward · · Score: 0

      It's unnecessary verbosity.

      Fuck'n snowflake.

    17. Re:hmmmm by Hognoxious · · Score: 1

      Ah. I always wondered why there was a lang.Math.some.Aspie.Fucktard.MadeitUp.nonEuclidean.cos().

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  10. Change is good; this is a non-story by Bearhouse · · Score: 1

    Well, I started off on a System/3 with a card reader, so I've had to keep my competencies up to date.
    In our industry more than most this is vital - I sometimes meet people bragging about having "20 years experience in x"; too often it's more like 2 years worth of experience x 10.

    That said, I have some buddies still making decent coin on COBOL gigs...

    1. Re:Change is good; this is a non-story by Anonymous Coward · · Score: 0

      Whose cock to you have to suck to gain access to the super secret exclusive job board where all the Cobol jobs are posted?

      captcha bribed

    2. Re:Change is good; this is a non-story by Anonymous Coward · · Score: 0

      You can try sucking mine. After that I'll look around and see what I can do.

  11. Opportunity by Areyoukiddingme · · Score: 4, Insightful

    But the regional dean of Northeastern University-Silicon Valley has the glummest prediction of all. "If I were to look at a crystal ball, I don't think the world's going to need as many coders after 2020. Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI."

    Sounds like a fantastic opportunity to get rich—fleecing poor bastards who actually believe this dreck. Ninety percent of coding is indeed figuring out how to wedge some business wonk's hairbrained idea into the machine, but does this clown have any idea how broad a phrase "business specs" is? That's everything. I mean e-v-e-r-y-t-h-i-n-g.

    "Make my MRI machine work." Business spec. "Make my combine harvester work." Business spec. "Make my search engine work." Business spec. "Make my toy robot work." Business spec. "Present as many goddamned ad impressions as physically possible." Business spec. He's trying to claim that do-what-I-mean-not-what-I-say computers are just around the corner, readily (and cheaply) available. HA. No. You might, MIGHT be able to train a neural net to do a piece of one of those tasks. All of them? And all parts? Not even close. Not in three years.

    I'm sure nVidia's new Titan Xp is a marvelous thing, with its dedicated tensor accelerator hardware, but it's not do-what-I-mean hardware. It was just released last month, which means nVidia's next card is a year away. Does anybody think it's going to be do-what-I-mean hardware? No. How about the generation after that? Maybe another node shrink? Still no. How about three generations from now? If historical Titan benchmarks are anything to go by, it'll be twice as fast as a Titan Xp. It takes nVidia about 36 months to double performance. Is it going to be able to do-what-you-mean? Mmm, no.

    The world is going to need just as many coders in three years as it does now. It will probably need more. The coming wave of automation is not going to be self-programming, but it is coming. Somebody is going to have to write all that code. And baby all of those neural nets.

    1. Re:Opportunity by Anonymous Coward · · Score: 0

      There will never be a do-what-I-mean hardware, that is why Earth is known as Hell.

    2. Re:Opportunity by Anonymous Coward · · Score: 0

      I won't be satisfied until I can "program" a video game by saying "Siri, make me a video game with lots of pretty explosions and bullets and make it fun. Go!"

    3. Re:Opportunity by Anonymous Coward · · Score: 0
    4. Re:Opportunity by 0ld_d0g · · Score: 1

      You seem to be arguing against a strawman. Making an MRI machine work is __NOT__ something ninety percent of programmers are working on.

      The vast majority of programmers are simply writing CRUD, LOB internal apps or doing IT stuff for business. The kind of stuff that is NOT part the core business and is simply a cost-center for an accountant.

  12. People who think that major languages die by Anonymous Coward · · Score: 0

    ...or that languages matter.

  13. What a load of rubbish by serviscope_minor · · Score: 4, Insightful

    The president of one job leadership consultancy argues C and C++ coders will soon be as obsolete as Cobol programmers. "The entire world has gone to Java or .Net. You still find C++ coders in financial companies because their systems are built on that, but they're disappearing."

    The entire world has done what now? I work in the computer vision/data processing world. It's all written in C++ on the back end, often with python driving code on the front. Currently C++ is the only language with the expressivity, speed and resource frugalness required for the job.

    I've also worked on deep embedded stuff. Hell, some of the compilers don't even do C++ (looking at YOU IAR C/C++), so I wrote it in C. Otherwise I'd use C++, because there aren't any other languages with the resource control which will do the job.

    Lots of other stuff seems to run on the browser. All major browsers are implemented in C++ because... well you get the idea. About the only thing which could potentially displace C and C++ is Rust since it's basically the C and C++ model but with a syntax that excludes many common bugs. But it's a way from being there yet.

    A data scientist at Stack Overflow "says demand for PHP, WordPress, and LAMP skills are seeing a steady decline, while newer frameworks and languages like React, Angular, and Scala are on the rise."

    There's a difference between decline and fall. The displacement is certainly happening, but you can't replace WordPress with Angular and Scala because one is an entire CMS, the other are a library and language. That's not the same thing.

    --
    SJW n. One who posts facts.
    1. Re:What a load of rubbish by Megane · · Score: 1

      I've also worked on deep embedded stuff. Hell, some of the compilers don't even do C++ (looking at YOU IAR C/C++), so I wrote it in C.

      Eh? I was mixing C and C++ in the same project in IAR five years ago, not just pure C++. Admittedly it was embedded, so I wasn't using STL or even heap objects, but the language was there and it worked fine. And unlike Microsoft, they actually admit that C99 exists. So you're going to have to 'splain your shit.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    2. Re:What a load of rubbish by serviscope_minor · · Score: 1

      Eh? I was mixing C and C++ in the same project in IAR five years ago, not just pure C++.

      Which version? I was using the 8051 version, recently. It claims to be a C/C++ compiler, but I tried writing C++ and ended up switching back to C because otherwise I spent most of my time figuring out which features it was missing. The license is now a few years old, and I was one major version behind the main one (8.something, not 9.whatever)

      Which was most of them. It's far from being compliant C++98, never mind 11.

      What chip were you using? I think they have rather different front ends for different chips as far as I can tell.

      --
      SJW n. One who posts facts.
    3. Re:What a load of rubbish by Anonymous Coward · · Score: 0

      because there aren't any other languages with the resource control which will do the job.

      It continues to amaze me how determined the software industry is to forget about Ada.

    4. Re:What a load of rubbish by Megane · · Score: 1

      I used the ARM version with C++, in the 6.x era. Yeah, 8051 must be "fun" to make work with C++, instruction-set-wise, but there are worse ISAs. I also pretty much stuck to the EC++ subset, I used virtual methods (every screen on one project was a subclass), but my only template was for a bit string class. No heap (and no STL), but in one place I used placement new to allocate screen objects from a fixed pool that worked like a stack.

      I also used IAR with MSP430 and STM8, but not with C++. MSP430 was great, and I would be surprised if its C++ didn't work. STM8 is another matter. I was able to build support for the STM32 bootloader into the code for our factory test equipment (as a screen in the code base I mentioned above, even), but we only ever got the smallest STM8s with no serial bootloader, and writing code from scratch to do SWIM is not trivial (it's a short/long pulse like the WS2812, so you have to get cushy with the timers and DMA to do it right). So I basically told my boss to please stop it with the damn STM8s already, it's not worth the trouble of needing a full PC in our factory test equipment (we were making stuff in China and had to ship the testers to the factory), and we switched to STM32F0 for the low end.

      Now when it comes to optimization in IAR, holy crap what horrors, particularly "code movement". On an STM8 project once, it actually replaced a subroutine call with a short-branch-to-self instruction. I'm sure that trying to use C++ with STM8 (which is roughly equivalent to 68HC12) would have opened a gateway to the Elder Gods. But I'll never try, because STM8 was bad for my sanity, and there are some things man was not meant to know.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  14. My gripe isn't even with that: by Anonymous Coward · · Score: 2, Insightful

    It is the lack of compiler/preprocessor support for legacy standards of the language.

    Between changes in the standard headers, changes in keywords (without provisions to disable them for files written to older standards) Changes in API and ABI, there is a huge clusterfuck of underdocumented shortcomings in C/C++ that are mostly there because of standard ego-stroking. Many of which have no excuse for having shown up in the past decade given that most of them manifest in open source software that could have been tested against in an automated fashion to ensure that new changes to the standard didn't break older code.

    Anyway, just like traditional c, then c89, then att C++, we are now seeing c99 and c++98 going the way of the dodo, with a mishmash of code written that straddles the standards but may not always compile into what you were expecting. And depending on the corner-case of interpretation, might not be discovered until MUCH MUCH later, unless you regression tested for every possible contingency or have dozens of special case handling macros for all the things that work on one version but not another (which is steadily increasing with each year, and some of which are only possible using machine automated translation due to the sheer level of keyword, include, namespace and other changes that may be necessary to work against 'common best practices' of a different iteratio of the standard.

    1. Re:My gripe isn't even with that: by arth1 · · Score: 4, Insightful

      Between changes in the standard headers, changes in keywords (without provisions to disable them for files written to older standards) Changes in API and ABI, there is a huge clusterfuck of underdocumented shortcomings in C/C++ that are mostly there because of standard ego-stroking. Many of which have no excuse for having shown up in the past decade given that most of them manifest in open source software that could have been tested against in an automated fashion to ensure that new changes to the standard didn't break older code.

      I agree, for C++. Whenever I have breakages after upgrades, it's almost always C++. Programs have to be recompiled, because they've imported and extended templates that they themselves weren't in charge of. Even if the APIs remain the same, there are still breakages.
      For C, there are far fewer problems. Yes, someone might change an API, but the general consensus is to not do that, but provide new functions. New standards happen, but only affect the source, and not whether binaries continue to work, like can be the case for C++.

      C++ works well where you can control or dictate the runtime system, so it matches the developer toolchain. That's great for embedded-like systems where you can change the entire OS with upgrades, or long term stable systems like RHEL, where versions stay put for 10 years with only bugfix backports. But when binaries break after an OS update, they're almost always C++ ones. From big companies too.

    2. Re:My gripe isn't even with that: by BarbaraHudson · · Score: 1

      What? It's easy to disable newer features. And there's no reason you can't replace api calls with your own in an #include file, same as you do when you want to write code that needs to be portable.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    3. Re:My gripe isn't even with that: by WorBlux · · Score: 2

      Right, just within the gcc, the C++ ABI has incompatibly changed at least 3 times, not to mention incompatibilities between different compilers.

    4. Re:My gripe isn't even with that: by Carewolf · · Score: 2

      Between changes in the standard headers, changes in keywords (without provisions to disable them for files written to older standards) Changes in API and ABI, there is a huge clusterfuck of underdocumented shortcomings in C/C++ that are mostly there because of standard ego-stroking. Many of which have no excuse for having shown up in the past decade given that most of them manifest in open source software that could have been tested against in an automated fashion to ensure that new changes to the standard didn't break older code.

      I agree, for C++. Whenever I have breakages after upgrades, it's almost always C++. Programs have to be recompiled, because they've imported and extended templates that they themselves weren't in charge of. Even if the APIs remain the same, there are still breakages.
      For C, there are far fewer problems. Yes, someone might change an API, but the general consensus is to not do that, but provide new functions. New standards happen, but only affect the source, and not whether binaries continue to work, like can be the case for C++.

      So when minor point releases of C libraries break ABI much more often than C++ libraries, that just doesn't happen? libssl, libpng, libflac, libwebp, etc. Have all broken binary compatibility in minor releases. Note btw, that templates changing definition doesn't really break much in C++ unless you export those templated clases over a module interface which is a dangerous thing to do. Templates being in headers alone means the have no binary part whose compatibility they could break. Though of course you can alway shoot yourself in the foot, and C++ being a very powerful language can take your entire foot off below the knee along with the floor and the people living downstairs when your do so.

    5. Re:My gripe isn't even with that: by lsatenstein · · Score: 1

      Do no harm. If your C program from 1980 is recompiled, the liklihood is that it will compile cleanly, and run correctly. Similarly, for C++ programs written in the 90's. Thats more than 25years of compiler upgrades and language extensions. And I would like to see Java or Python or VM language process 3-5 million bank transactions in a 4 hour overnight window.

      Cobol and Fortran too are great stable high performance languages that are easy to learn and maintain.

      --
      Leslie Satenstein Montreal Quebec Canada
  15. C and C++ aren't going away by Ambassador+Kosh · · Score: 5, Interesting

    Science and engineering continue to move towards doing more simulations. Everything from chemical simulations to flow simulations. The more accurate these simulations are the more computationally intensive they get but also the more money you can make since you have to do fewer real world experiments to isolate the true running conditions and the simulations can also be used as control systems allowing you to operate closer to the true danger area.

    In most chemical plants reactions are run FAR from the actual danger points in terms of product yield, purity, reaction speed etc because things like PID controllers just can't adapt to how chemical systems really work.

    The problem is that for this kind of work java and .net are SLOW. They can easily but 100x to 1000x slower than a program written in C, C++ or Fortran. The tooling to support High Performance Computing type applications really doesn't exist outside of C, C++ and Fortran. They have the most advanced optimizing compilers, profilers, debuggers, libraries etc. What I often see is something like MATLAB for visualization, Python for command and control and C/C++/Fortran for the actual simulation running on clusters.

    These newer microchips that have more cores per chip are only going to continue to push things in that direction. It is easy to gain a little scaling with threads but if you want to really get a program to run fast you need to either have direct memory control or you would need a far more efficient runtime than has ever been created so far.

    This may come as a surprise but almost no normal software uses more than about 1% of a cpu's capabilities. Even most games are 5%. You can see this when you run them under a good profiler like VTune. Sure the CPU is technically busy running the software but it is mostly just waiting for data and working with unoptimized data structures. To get over this barrier you need to do thousands of small changes to your program.

    If you need a program to run FAST you need to eliminate false sharing. If you have two threads write to different indexes in an array but the items are too close to each other in memory they could be sitting on the same cache line and this will cause the cores to have to resync and retry calculations based on which one committed first. The more cores you add the worse this problem gets. I have worked on a program that went from 30 seconds on 128 cores to 0.03 seconds on 128 cores by removing all the false sharing.

    You also need fine grained control over parallelization. You need to be able to decide that a function should only be parallelized and to what degree it should be parallelized based on the amount of data being handed into that function. That is why things like TBB and OpenMP allow those to be controlled at runtime. If you make a parallel version of quicksort and run each division in parallel recursively you reach a point where you are creating parallel tasks that are far too small and have too much overhead. This means you need to understand how many cpu cycles an operation normally takes and can parallelize based on this information.

    At this point I don't see any other languages really moving in to really compete with C and C++. Sure there are languages that do a lot of the high level stuff that used to be done with C and C++ but the world has also moved to harder problems and C and C++ have moved onto those harder problems also. This is a problem you can't just buy more hardware to fix. Many of these simulations take days to run in highly optimized C and C++ code and the java/.net versions would take a year to run. The time alone would kill the programs usefulness but forget ever optimizing your system using the simulation.

    --
    Computer modeling for biotech drug manufacturing is HARD! :)
    1. Re:C and C++ aren't going away by angel'o'sphere · · Score: 1

      They can easily but 100x to 1000x slower than a program written in C, C++ or Fortran.
      This is nonsense.

      I doubt you can find an example where Java/.NET is only half as fast as "C, C++ or Fortran".

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:C and C++ aren't going away by Waccoon · · Score: 1

      They can easily but 100x to 1000x slower than a program written in C, C++ or Fortran.

      One of my biggest gripes about performance on Java is that people always say, "Java approaches the speed of native code." Well, what does that mean? Half as fast? A tenth as fast? A hundredth as fast? What's the ballpark? Of course, they never go into those details.

      The same goes for Javascript. I found it hilarious years ago when Javascript engines were getting much faster, like 40x faster after a single update, and advocates were saying Javascript "approaches" the speed of native code. Big deal, because that still tells us nothing.

    3. Re:C and C++ aren't going away by Anonymous Coward · · Score: 0

      Matlab for visualization.. oh god, you poor soul.

    4. Re:C and C++ aren't going away by Anonymous Coward · · Score: 1

      He's talking about programs designed for high performance computing. That is you have to worry about how memory is accessed, which cache the data is in, and which threads need communicating, which threads use all the functional units of a CPU and should get their own CPU, etc etc. These are things that often require hardware or at least OS dependent libraries, and guess which language those are written in? C++

    5. Re:C and C++ aren't going away by Anne+Thwacks · · Score: 1

      You need to get familiar with this new concept of "JTL" as in "Just Too late". Its all the rage with Java specialists.

      --
      Sent from my ASR33 using ASCII
    6. Re:C and C++ aren't going away by Ambassador+Kosh · · Score: 3, Informative

      I am not talking about regular programs. I am talking about the types of high performance computing software that is usually run on large clusters or supercomputers.

      For the simplest possible case lets say you have to add up an array of tens of millions of doubles. On an x64 arch cache lines are normally 64 bytes which allows you to store 8 doubles at 8 bytes each. You can also use vectorization in a modern CPU and haswell and above can do do vector operations per cycle. If you break up the work to something small like 128 threads you need to break the whole thing up into very large chunks memory such that each chip gets a large contiguous memory region and such that each core in that chip also has a large contiguous memory region. You also need to allocate the memory to hold each cores temporary result such that none of them are on the same cache line or you will cause invalidations on every summation operation and have a large impact on performance.

      If you do all of this completely correctly then you are doing linear memory with unit 1 stride and that will allow the memory controller to optimally load in data while you are processing. You also use every entry in the cache line and a cache line never has to be fetched again. At the very last step you would need to read from 128 memory locations on different cache lines to do a final add but you did eliminate all false sharing.

      This is of course a trivial example meant to illustrate a point. Even just adding up lots of numbers can be quite complicated to make high performance. Sure a java program can do this but it won't be anywhere in the same ballpark speed wise. In a more realistic example you have to do this kind of optimization work but the problem is not so simple. Just designing a data structure that correctly works across all the different usage and ordering cases can take weeks of work and profiling.

      More commonly you have parallel processing that happens in phases where you have large parallel areas followed by sequential areas and then followed by parallel areas again that operate on the same pieces of data. If you are VERY careful you can keep the information you last used in the cache still and so long as you assign all the work to the same cores as they where assigned the first time all the memory access will be local. If you screw it up performance is often 10x to 100x worse on a ccNUMA system with 128 cores.

      This type of programming is programming is HARD but it is an area where C/C++ and Fortran completely dominate with no competitors around. Everything from molecular dynamics simulations, quantum simulations to chemical simulations and machine learning. This is an area where Java does not play in and Oracle is not even trying to push it in this area. When Oracle does high performance they do it with C/C++ usually and OpenMP. They have given some very interesting talks on OpenMP optimization.

      --
      Computer modeling for biotech drug manufacturing is HARD! :)
    7. Re: C and C++ aren't going away by MatiasKiviniemi · · Score: 1

      I can believe C#/java can give you enough rope to do things in really dum/trivial/slow-ways. But I find hard to believe that its not possible to get good performance out of them. Ie you could do the the low level parallelism on those also. Meaning "good C++" can be 100x faster than "bad c#" but difference to "good c#" is not that big. Right?

    8. Re:C and C++ aren't going away by angel'o'sphere · · Score: 1

      Sure a java program can do this but it won't be anywhere in the same ballpark speed wise.
      Modern benchmarks contradict you.

      Botom line with the new stream APIs Java is 100 times easier to program in that regard right now, but I guess C++ will catch up (and that was not the point anyway :) )

      More commonly you have parallel processing that happens in phases where you have large parallel areas followed by sequential areas and then followed by parallel areas again that operate on the same pieces of data. If you are VERY careful you can keep the information you last used in the cache still and so long as you assign all the work to the same cores as they where assigned the first time all the memory access will be local. If you screw it up performance is often 10x to 100x worse on a ccNUMA system with 128 cores.
      we did initially nit talk about distributed computing.

      This type of programming is programming is HARD but it is an area where C/C++ and Fortran completely dominate with no competitors around. Everything from molecular dynamics simulations, quantum simulations to chemical simulations and machine learning. This is an area where Java does not play in and Oracle is not even trying to push it in this area. When Oracle does high performance they do it with C/C++ usually and OpenMP. They have given some very interesting talks on OpenMP optimization.
      And here is the hybris again. While this might be difficult on VM based runtime environments, it is e.g. no problem for Java that is directly compiled to native code or Pascal or any assembly or COBOL, COBOL btw. would excell in that matter.
      There are plenty of high performance computing benchmarks that show that a modern JIT compiled Java is on par with C++ and just a little bit behind Fortran.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    9. Re:C and C++ aren't going away by spongman · · Score: 1

      sorry, but that's like saying, shortly after the invention of the automobile, that blacksmith's jobs are safe because race-horses will always need shoes. sure, they still make shoes for race-horses to this day. but how many blacksmiths do _you_ know that make horseshoes?

    10. Re:C and C++ aren't going away by spongman · · Score: 1

      i'll just put this here...

    11. Re:C and C++ aren't going away by Ambassador+Kosh · · Score: 1

      Can you show me what some of these modern benchmarks are? All the stuff I have been able to find on Java for HPC code is that it is MUCH slower than C, C++ or Fortran and the only way to get good performance out of it is to have all the heavy lifting done in high performance libraries written in C, C++ or Fortran and call them from Java. Most of the java benchmarks I have found for BLAS now are getting old and I don't see much work on things like high performance libraries.

      I am also not talking about any kind of distributed computing. That is 128 cores on a single fat node. ccNUMA refers to the type of memory access where each socket or sometimes even groups of cores on a socket have their own memory connection for faster communication. The whole system is still a unified memory space but not all memory accesses are the same speed. This means your data has to be allocated in such a way that the memory spreads across the different memory nodes correctly. If you allocate all the memory on a single node then every access will be non-local and run much slower. Things like TBB have a memory allocated designed to handle this for C++ and there are similar things for C and Fortran. How well does Java handle ccNUMA?

      Native code is not magic and not all native code is equal. Some languages make it much harder to optimize than in others. Even with native code compilers for Pascal, Lisp etc you don't seem them optimizing as well (especially with vectorization) as you do with C, C++ and Fortran and a lot of that reason is more money has been put into optimizing C, C++ and Fortran. Java native compilers are just not as good and likely never will be.

      --
      Computer modeling for biotech drug manufacturing is HARD! :)
    12. Re:C and C++ aren't going away by Ambassador+Kosh · · Score: 1

      It is not remotely the same thing. Java is not an automobile with C, C++ and Fortran being horses. At least between Java and C++ and Fortran there are few advantages for HPC software writing or maintenance to be found with Java.

      I also think you underestimate how much relies on hpc simulations. Computer vision, modern drug development, plant control, aerospace design etc are built on hpc. This is not a tiny niche like race horses where if it went away nobody would care. If this stuff went away you would notice immediately.

      I am also not saying that Java is a bad language but it is not suitable for everything and there are important programming areas that are worth hundreds of billions of dollars where Java is not viable. There are also many programming areas where I would not use C, C++ or Fortran. Not all programming languages are interchangeable for the same reason that a sledge hammer normal nail hammer are both hammers but not used for the same things.

      --
      Computer modeling for biotech drug manufacturing is HARD! :)
    13. Re: C and C++ aren't going away by Ambassador+Kosh · · Score: 1

      Most regular software is waiting on disk, network or user interaction and they really only need to be fast enough to handle that. Being faster won't make the application faster to use. You can easily get FAR faster than you need for most purposes with C#. I can't really comment on Java because I have never run into a well performing Java gui application.

      However, when you get to high performance code (the kind you run on clusters, supercomputers etc) the types of problems change. Computers have a lot of vectorization available and if you can use this effectively you can get large speedups in program execution. This is where Java and C# don't work very well, but they are also not designed to work well there.

      Java and C# won't replace C, C++ and Fortran because while they do have some areas of overlap mostly they are used in different types of problems.

      --
      Computer modeling for biotech drug manufacturing is HARD! :)
    14. Re:C and C++ aren't going away by spongman · · Score: 1

      > Java is not an automobile with C, C++ and Fortran being horses

      i would argue that, in terms of real developer productivity, there _are_ languages and frameworks (maybe not java today) that make C & Fortran fit this analogy. C++ is trying to stay relevant, but it's a really tough sell for new projects unless you specifically need the performance.

    15. Re:C and C++ aren't going away by angel'o'sphere · · Score: 1

      Well,
      a good starting site is this: http://math.nist.gov/javanumer...
      And interesting papers are e.g. this two: https://engineering.purdue.edu... and an older one that is more focusing on the problems of Javas Array implementations: https://www.cs.cmu.edu/~artiga...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  16. Use Swift! by Anonymous Coward · · Score: 0

    It's great! It's kinda like C, except a single company is in charge of it, and in its brief life it has had specs launched that broke backwards compatibility with "older" Swift code. Switch to Swift today!

    1. Re:Use Swift! by Z00L00K · · Score: 1

      Since it's a single company in control of it you also get all eggs in one basket. Something that history has told us to avoid.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    2. Re:Use Swift! by Dog-Cow · · Score: 1

      The Swift compiler and runtime are Open Source. They've been ported to Linux and Windows (I believe the Windows port is unofficial). IBM has picked it up as a server language. It's no more controlled by a single company than Java is.

    3. Re:Use Swift! by Anonymous Coward · · Score: 0

      It's no more controlled by a single company than Java is.

      If you really can't find a better example than Java to prove that point, then I'm pretty sure you've failed.

  17. AI Took My Jerb by mentil · · Score: 1

    Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI.

    For some reason this made me think of a homeless person on a sidewalk with a cardboard sign that reads "A.I. took my job". Also relevant: "I'm a people-person dammit! I'm good at working with people!"

    --
    Corruption is convincing someone that the selfless ideal is the same as their selfish ideal.
  18. Who writes this shit anyway? by Anonymous Coward · · Score: 0

    C++ be gone? And what will Java and .Net run on? Themselves? :P

    Languages like 'Angular'? Really, has Slashdot lost its mind?

    1. Re:Who writes this shit anyway? by Quakeulf · · Score: 1

      Is there a problem with upgrading?

      Do you have an issue with framework?

      Call 1-CPP-BE-GONE

      And have your woe begone!

      (Open from 00:00:00 1/1 1970 to 19/1 2038 03:14:08 GMT)

    2. Re:Who writes this shit anyway? by Shimbo · · Score: 1

      "demand for PHP, WordPress, and LAMP skills are seeing a steady decline, while newer frameworks and languages like React, Angular, and Scala are on the rise."

      is one of the more sensible remarks on the list. There is a lot of churn in the popularity of web tooling. C++ disappearing by next Tuesday OTOH.

    3. Re:Who writes this shit anyway? by Jack9 · · Score: 1

      > "demand for PHP, WordPress, and LAMP skills are seeing a steady decline, while newer frameworks and languages like React, Angular, and Scala are on the rise." ... is one of the more sensible remarks on the list.

      React and Angular are not replacements for PHP, Wordpress, or LAMP. Scala is so rarely used it's almost laughable. The question is still "will there be a culling between PHP or Python". While Python is rising in popularity, that is due to a unified ecosystem and AWS AMIs having python support out of the box. Looks a lot like how Ruby gained popularity, with similar problems (performance, stiff language design - e.g. lambdas, no do-white/foreach/whatever) and Ruby is...not a good choice for anyone. For many cases, we prototype in Python, but ultimately either rewrite in PHP or C for performance reasons when we try to run any load. It's just fine for straightforward intermittent procedural processing and PHP is slightly more robust (for better or worse) as glue code. YMMV

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
  19. Take your kids to work day for Silicon Valley? by Anonymous Coward · · Score: 1

    Sometimes I think we need a "take your kids to work" day for all the rockstar programmers/vc's in silicon valley to show them how real world actually works. That no, all the Windows Admins have not vanished because there is still critical corporate infrastructure that runs on Windows NT and good luck moving it into the cloud anytime soon. And no, in the real world companies don't replace stacks because they're no longer cool, they replace them because the cost to maintain them has become more than the cost to shitcan it and start from scratch. And if you don't have network engineers, whose configuring all the VPN connections, routing tables, etc to your enclaves in the cloud because surely you don't just have everything up there with a route-able IP do you? (actually, given the number of alerts I get from have I been pwned, yes, they probably do).

    Beyond all that. It amazes me how it seems many Node/JS advocates will generally declare C/C++ dead when that entire house of horrors only works because of libuv which is written in... C. You take that away and all you have is a crappy DOM manipulation language.

    Seriously guys... we're glad you're innovating. But take time out for a reality check from time to time.

  20. Forgetting something by roks · · Score: 0

    ... let us think for 3 seconds. Which programming language is underlying languge for all this wanna be real programming languages?

    1. Re:Forgetting something by Hognoxious · · Score: 1

      Assembly?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  21. Watch out guys by Anonymous Coward · · Score: 0

    Linux is taking over. Lol.

  22. Completely Load of Baloney! Actual Programmer... by foxalopex · · Score: 2

    I actually program in the field and while I admit .NET is pretty awesome if you program specifically in Windows and if you aren't looking for performance! It isn't meant for the high performance edge applications that C and C++ are able to handle. Besides, all four languages .NET, C, C++ and Java all have some similarities with each other. It's about as stupid as saying because I drive a SUV that I can't drive a truck. Sure there's differences but anyone who calls themselves a programmer should be able to switch fairly easily. Java itself is a horrible use of resources, the few games I've seen written in them run like molasses and that problem in itself hasn't really changed over the years.

    As far as AI taking programming jobs, don't make me laugh. AI is nowhere near that level yet. An AI that can program is an example of self-aware AI that can program itself. Even if it could, I'm not sure if anyone would really want to risk it. Think about it, let's fire all the programmers and get the computer to program itself to help us. Eh, what if something goes wrong? What if it decides to go the way of skynet?

    While the cloud may have it's benefits, not everything will go there. Communication isn't that fast and some information is best kept off the web.

    Written by a business type who has no idea how programming works except for the next big thing. Not even realizing how much stuff is based on legacy architecture.

  23. Yup, sounds about right from this group... by s1d3track3D · · Score: 0

    The president of one job leadership consultancy...

    A data scientist at Stack Overflow

    CEO and co-founder of an anonymous virtual private network service

    vice president of careers site Indeed Prime.

    The CTO of the job site Ladders

    But the regional dean of Northeastern University-Silicon Valley

    Yes, great insight from MBA's predicting the future.... Thanks for that.

  24. What a load of BS by jonwil · · Score: 4, Informative

    C and C++ aren't going anywhere. Everything from operating system kernels to operating theater robots are programmed in C and/or C++.

    I count at least a dozen devices in my apartment that contain some sort of microprocessor and I would bet money that all of them are using C and/or C++ in some form as part of their software.

    Anyone who thinks C or C++ is going away anytime soon is either a clueless idiot or has some vested interest in pushing Java and .NET.

  25. All by fatp · · Score: 1

    Because human beings are bound For extinction

    1. Re: All by Anonymous Coward · · Score: 0

      You have no hope to survive make your time. Hahaha.

  26. Been hearing exactly this for 25 years by mccalli · · Score: 4, Insightful

    Still employed.

    1. Re:Been hearing exactly this for 25 years by Anonymous Coward · · Score: 0

      Indeed, talk of automation of low-end computing tasks, IDEs that write code for you, graphical coding where anyone can just plug modules together so programmers will no longer be required... all that talk has been around for a while now.

      There is a pattern here. We're all being told to panic, be grateful for your existing job, don't ask for that rise, don't seek another job, because you are obsolete and will be replaced. Self-driving cars, AI and robots are coming to take all our jobs. You should be happy on that zero-hour contract with no employment rights. Stop complaining, work harder.

      Frankly, any job that could be automated has been long automated since the turn of the industrial revolution. The only thing that will convince me that these blowhards aren't trying to manipulate the employer/employee relationship to further their own ends is the creation of true AI with intelligence approaching that of a human.

      Whereupon I assure you employment will be the very least of your worries.

       

    2. Re:Been hearing exactly this for 25 years by Anonymous Coward · · Score: 0

      35 in my case. They'd like to believe that they can get rid of the people doing design, coding, etc.- make it so they can hire trained syphilitic monkeys from foreign lands and shave pennies off their BoM. Hell, there was a fucking moron earlier in the discussion on here that was poncing on about 5 cents on a device and that they're not going to care about that and if you can't manage all those resources, then...

      Fucking morons. 35+ years of this constant whine. Yes, you can do more with more powerful stuff. It costs more. One of the reasons you don't see much use of the Javacard in SmartCards is because it COSTS MORE and doesn't accomplish very much. It's not in SIMs, folks. Wise up. 5 cents in a half million unit product roll out costs $2.5 million. Better have a GOOD justification for what you just pissed on the damn floor.

    3. Re:Been hearing exactly this for 25 years by Megane · · Score: 0

      Frankly, any job that could be automated has been long automated since the turn of the industrial revolution.

      You missed one, customer-facing data entry work is being replaced by kiosks. The most recent development in that is burger flippers whining about pay are about to get replaced by kiosks that will reduce lines (you can keep multiple kiosks open when you couldn't afford to have extra cashiers), and increase accuracy (no more wrong orders because Laqueesha was thinking about her boyfriend and pressed the wrong key). There will probably still be a need for a single cashier to actually take cash money (mechanical cash acceptors are still not quite reliable enough for less than a big box store), but even most of the burger work might end up done by machine.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    4. Re:Been hearing exactly this for 25 years by twistedcubic · · Score: 1, Troll

       
      no more wrong orders because Laqueesha was thinking about her boyfriend and pressed the wrong key

      Can't you just let this racist shit go?

    5. Re:Been hearing exactly this for 25 years by Anonymous Coward · · Score: 0

      5 cents in a half million unit product roll out costs $2.5 million.

      You've been a programmer for over thirty five years and you still can't do basic math?

    6. Re: Been hearing exactly this for 25 years by Anonymous Coward · · Score: 0

      We've had burger flipping robots since the 60s. All that's changed there are the economics, not the technology.

    7. Re:Been hearing exactly this for 25 years by lgw · · Score: 1

      Can't you just let your obsession with race go?

      --
      Socialism: a lie told by totalitarians and believed by fools.
  27. Everything mentioned here is correct by dschiptsov · · Score: 1

    and there is nothing much to see here. Java is a bubble - the worst thing that happen to CS since MS DOS or The Packer's Paradise (the first chapter of The Programmer's Stone). Oldfags like me still remember the J2EE nightmare and how we fought to avoid this crap and stay sane (I hope the J2EE advocates are still enjoying the compatibility and performance issues or are in some deeper layers of Hell they've deserved). Since then Java is steadily growing. PHP and Wordpress/Joomla/whatever-it-is-today is not even yesterday - it belongs to the past age, so is Windows (which is not completely obvious due to its monopoly in the corporate world). "Moving to the cloud" is also very real, and companies who paid a few hundreds of thousands to Amazon for some standard crappy Oracle setup are very common (which is confirmed by AWS revenues). In short, yes, the time of garage technicians (or small construction companies) is over. Welcome to the world of mega-corp automakers (or property managers). Even Upwork is on decline despite being a cheap sweatshop for all the things mentioned above - LAMP and the other PHP-level crap. But wait! the coming Javascript crap will eclipse (hahaha) even J2EE and Cobol crap combined. These people (the packers) never learn.

  28. Eat shit. by Anonymous Coward · · Score: 0

    "Engineers and programmers need to continually learn new languages, or they'll find themselves maintaining systems instead of creating new products."

    Eat shit.

  29. Solution - learn new stuff by DrXym · · Score: 1
    I interviewed a guy recently for a C/C++ role and while he had C down for a skill he couldn't tell me the most basic things about multi-threading, GUI programming, or even C++ fundamentals. He had spent the last 15 years working on some kind of terminal based software and simply didn't have a clue. Yeah I get his day job probably didn't require those things but it says much of his temperament and inclination that he couldn't be bothered to learn in his own time either. He didn't get the job.

    Learning something new keeps skills relevant and demonstrates a passion for the job, the capacity to learn and the flexibility to adapt. These are all things employers like.

    It's very easy to do too even if the day job is something else. Find a technology that looks interesting, think of a non-trivial project that would be a good fit for that technology and write it. Make it open source, stick it on githhub or somewhere public and then link to that from the resume. It gets easier over time too since there is very little new under the sun.

    1. Re: Solution - learn new stuff by loufoque · · Score: 1

      Anyone that spent 10 years doing the same thing is worthless.
      You should have discarded his CV before interviewing him.

    2. Re: Solution - learn new stuff by Anonymous Coward · · Score: 1

      Damn, my doctor has been doing the same thing for ten years. Thanks for opening my eyes! ...software asshole.

    3. Re:Solution - learn new stuff by angel'o'sphere · · Score: 1

      it says much of his temperament and inclination that he couldn't be bothered to learn in his own time either.
      Actually it does not. Why would anyone read C++ documentations that are not relevant for his job?
      He should/could have prepared for his job interview better. But considering the "anti programming language hate" here on /. (popping up all the time when a new language is announced) he probably had considered himself a freak if he had dug to deep into C++

      Anyway, I wager that I "speak" more programming languages than anyone else here on /. Because it is my hobby. Not to follow some idiotic "should be obvious" expectations of a job interviewer.

      It's very easy to do too even if the day job is something else. Find a technology that looks interesting, think of a non-trivial project that would be a good fit for that technology and write it.
      I hope you don't die on overwork.

      My advice is to get a nice hobby, I do sailing, rock climbing and 3 kinds of martial arts. Much more rewarding than doing the same bullshit you are required to do at work in your free time, too. And when I'm together with my spouse (she does not live on my place) there are plenty of things we do together, cooking comes in my mind, among other "obvious" things.

      Requesting that people learn in their spare time skills in programming where they never know if they need them is idiotic. Sorry to say it like this.

      For me it is easy, I just read something about computing and then I know it. No need to "learn" or "practice" for me. Other people need months for stuff that I learn in a day. They don't have those months, they have to take care for a real life, kids and souses etc.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re: Solution - learn new stuff by Anonymous Coward · · Score: 0

      Anyone that spent 10 years doing the same thing is worthless.
      You should have discarded his CV before interviewing him.

      Anyone that can't be trusted to stay in a job for 10 years is worthless.
      You should have discarded his CV before interviewing him.

    5. Re: Solution - learn new stuff by omnichad · · Score: 1

      Doctors especially so - the most current knowledge changes constantly. Doctors who don't keep learning are the worst kind.

    6. Re: Solution - learn new stuff by Anonymous Coward · · Score: 0

      Really? Because I would consider somebody who regularly jumps from job to job is worthless. You can't rely on them, and I have to ask why they couldn't manage to hold down a single job for any time. Is it that when they got the job, the employer discovered they sucked at everything?

    7. Re:Solution - learn new stuff by DrXym · · Score: 1
      "Actually it does not. Why would anyone read C++ documentations that are not relevant for his job?" For all the reasons I said. I didn't need C++ when I was programming C. I still bothered to learn it. I didn't need Java when I was programming C++. I still bothered to learn it. It meant that come the time I switched jobs I was proficient in a skill that meant I could switch.

      Curiosity, agility, willingness to adapt, learn, improve should be motivating factors for any kind of high tech job.

    8. Re: Solution - learn new stuff by DrXym · · Score: 1

      The CV wasn't an exact match but it was close enough that so we interviewed him and gave him a chance. My impressions about his inflexibility and lack of range were formed during the interview.

    9. Re:Solution - learn new stuff by david_thornley · · Score: 1

      Why interview for a C/C++ role? Why not C or C++? They aren't that similar anymore.

      Also, learning modern C++ is not trivial, and neither is lots of multi-threading. Assuming the guy had a life outside programming, or maybe a 70-hour-a-week job, doing an outside project in a new language would be a significant commitment that could cause a lot of stress..

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    10. Re:Solution - learn new stuff by angel'o'sphere · · Score: 1

      Yes, same for me.
      But you can not expect the same from one who is working 9 hours commuting 2 hours in a car and has wife and kids.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  30. AI is a poor fit for human stupidity by Anonymous Coward · · Score: 0

    I have a hard time believing an AI actually translate the typical badly defined, contradictory and vague business requirements full of hidden assumptions and turn them into code. It would have to work interactively with the customer, formulate questions and form a contextual idea of what the customer is actually pursuing. In essence, it would have to an advanced general intelligence. I don't see that happening in 3 years.
    If you define business requirements as pure well-defined technical spec, that's just code generation. Who creates that spec? Not an AI. And who maintains that code?

  31. Re:COBOL by scsirob · · Score: 4, Informative

    "You still find COBOL coders in financial companies because their systems are built on that"
    Fixed that for you. And those guys make a pretty bunch, for being obsolete.

    --
    To Terminate, or not to Terminate, that's the question - SCSIROB
  32. C is dead.. maybe because people use their phones by ZippyTheChicken · · Score: 0

    When you see Intel make announcements that they are putting off new desktop CPUs in favor of Phone CPUs you begin to understand that across the world and in developing countries the sales of phones as a primary computing device is hurting actual computer use. Homes don't have landlines and they don't have computers as much anymore.. They have phones and game consoles and we have gone backwards. Its sad but there is going to be a big separation in society. Those that have desktops and those that use phones and phones mean Java and Python .. but the backend to these things are still going to be C and PHP. if PHP went away so would 90% of the internet.. if C went away so would 90% of backends and also many software applications that are used to make the stuff people view from their phones. But in the overall are phones bad? no Probably not because they give people with lower incomes and no real computing skills access to the Internet which in turn means society as a whole moves up a notch. People that couldn't manage a windows or linux desktop can still access facebook and news sites and buy stuff on amazon.. It really comes down to... who is making the world .. and who is using what they make.. If you are a maker you still need skills.. if you are ranting on facebook or twitter you just need a phone.

  33. mkay by tommeke100 · · Score: 1

    > right now Java and Python

    Oh, come on. Java as been the leading language for over 15 years now.

    > not that many coders after 2020

    I heard the exact same thing in the 90s with Aspect Oriented Programming. Oh, we won't need programmers, you'd just pick your big building blocks and just put them together and voila!

    1. Re:mkay by angel'o'sphere · · Score: 1

      You are mixing up Aspect Oriented Programming with Component Based Programming.

      AOP is set on top of the JVM and meanwhile .NET and LLVM. It is about weaving aspects/advices into existing code at certain points. E.g. around variable access or method calls.

      If you are into Java then AspectJ would be a starting point, for other languages you have to google (because I'm to lazy to do it for you), there is also Aspects for C++ (on source code even).

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:mkay by tommeke100 · · Score: 1

      You are correct! It was Component Based Programming. Never heard of it since. We use AOP with Spring and others ;)

    3. Re:mkay by Javaman59 · · Score: 1

      I heard the exact same thing in the 90s with Aspect Oriented Programming. Oh, we won't need programmers, you'd just pick your big building blocks and just put them together and voila!

      Between 1985 and 1995 I heard of three revolutions which were going to put programmers out of a job "in ten years", they were: "computers programming themselves" (ie. AI), 4GL's, CASE tools.

      I was never really worried by these, but after the third time, didn't pay any attention.

      I was, however, always worried about being put out of work by new langueages (C++, Java, XML, etc..), and rightly so. But as long as I kept up with them, the work was there.

      --
      I'm a software visionary. I don't code.
    4. Re:mkay by angel'o'sphere · · Score: 1

      Well,
      "component based programming" is basically a design principle and most people do it automatically "somewhat right". On the other hand most software is quite complex and is often written in a throw away manner. Lets run it for 10 years and then rewrite it ... instead of having "proper components", which can be reused.

      However the idea that we would sell those components as parts died out more or less.
      However in the Windows world they still do "COM components" and there are online shops where you can buy such things.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  34. bs by Anonymous Coward · · Score: 0

    Can't help but notice that all interviewed have a lot to gain from hiring cheaper labor...

    Those jobs are not extinct, you're just won't be accepted as an applicant because "you're just not a fit for the company culture" whilst they're thinking how much cheaper it is to hire prajeet...

    Australia is old hat at this shit too. Don't worry about labour laws, just lie through your teeth about everything including why you're doing what you're doing and get someone to fly over on a 457 visa to run your pizza shop... don't pay them properly, imply that you'll refer them to immigration if they kick up a fuss.

    And if the public figures out you're playing silly buggers, just give the ruling party more donations and they'll make it go away with some kind of dead cat, or at worst, a rebranding of the legislation without actually changing it in any significant way at all will suffice.

    I thought atlassian was a good guy until I saw they turn down locals for foreigners... there's plenty of comp sci graduates in australia, the lazy, tight shits just don't want to do any training to bridge the gap between education and industry in practice, so prajeet gets the job.

  35. Being a freelance C++ developer by Anonymous Coward · · Score: 0

    I'm very happy that these morons in the article keep the kiddos away from our field of C++ programming. Keeps supply of available programmers low and demand high. This equals high daily rates for us.

  36. Currently ? Not working. by DrYak · · Score: 5, Interesting

    Suppose you assigned an AI to observe which user stories go in, and what code comes out as a result. How many programs would you have to complete before the AI is able to take over a majority of the work involved in building an application? {...} I'd honestly be surprised if they aren't already doing something like this.

    Yes it's done. Not by google, but by others.
    The short answer is that the deep neural nets produce texts that looks like code on the first glance, but doesn't even compile.
    e.g.: The variables aren't even properly declared. it can write a formula (like "a = b + c")
    but isn't even able to realise the link with the declaration of the variable (that the "int a;" 10 lines above is linked to the "a").

    The problem is the size and complexity of modern AI.
    The size of the context they can consider,
    the amount of abstract models hidden behind the code, etc.

    Currently what AI has managed to recreate with deep neural nets, is on the level of WW2's Pigeon guided bombs.
    i.e.: leverage some image recognition net and similar basic tasks, and string a few together.

    The complexity required to write actual code is several orders of magnitude bigger.
    Even some humans can't do it reliably, and you hope to do it with what currently is the equivalent of the visual cortex sub-part of bird's brain.
    Good luck with that.

    Before achieving that we need :
    - more raw processing power (you'll need way much more neurons that currently used in today's deep neural nets)
    - advances in science to better understand how to combine together tons of such "function specific nets" to build a higher level of AI.
    (the same way a brain is a sum of lot of small specific region, each linked to a higher level/more abstract associative layer).

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
    1. Re: Currently ? Not working. by Anonymous Coward · · Score: 0

      Keep telling yourself that if it helps you sleep at night but IT workers are in for a rude awakening. And it's about time.

    2. Re: Currently ? Not working. by Anonymous Coward · · Score: 0

      I did IT contracting (mostly field support) for several years until recently deciding to get out of tech completely and switch to more traditional trades. I came across way too many very disappointed laid off late career Win admins. "How do you make a living at this?", was a common comment. They didn't realize how much of it was straight up manual labor at odd hours, and lots of travel. It nearly has more in common with working contract construction than office IT.

    3. Re: Currently ? Not working. by Anonymous Coward · · Score: 0

      Good. Despite all the bullshit about "labor shortages" in IT, the field is flooded with poorly educated incompetents who don't do anything but push VAR contracts and implement "best practices". Then when the network goes to shit or they get hacked, they look for some tech to blame until it happens again and they eventually get replaced by a different version of themselves. Fuck em.

    4. Re:Currently ? Not working. by Anonymous Coward · · Score: 0

      Even some humans can't do it reliably

      Actually, most humans can't do it reliably. Consider the average quality of our software and the failure rates in first year computer science programs among other pieces of evidence. Only the really important stuff is actually good quality and no surprise, it's quite expensive too; supply and demand.

      and you hope to do it with what currently is the equivalent of the visual cortex sub-part of bird's brain.

      The AI promoters are eternal optimists. I suppose they have to be to keep working in that field without going insane. They've been at it for almost 70 years now and in my opinion their progress has been modest at best. Every now and then they show up in the media with a neat new trick, but really the general public is far too easily impressed by these people.

      Before achieving that we need...more raw processing power

      I'm not so sure that that's the right approach. The design of modern CPUs and software seems to be very different from that of our own brains, which we know are capable of high level abstract reasoning on a level that our our silicon simulacra aren't. If more computing power were the answer, why aren't our supercomputers giving us the answer to the universal meaning of life and everything by now? Clearly there are some pieces of the puzzle that are still missing.

      Before achieving that we need...advances in science to better understand how to combine together tons of such "function specific nets" to build a higher level of AI.

      This I agree with more. I don't think we're going to get to so-called "strong" AI until we first understand precisely how our own brains work and given the current state of research in that field, it seems clear that we're still dealing with flint knives and bearskins. It may be centuries before we figure it out and the rate we're going and given the sorry state of the climate, we probably don't have that much time left as a species.

  37. They also never look at embedded software by Sycraft-fu · · Score: 5, Informative

    These days, everything is a computer. Your stove, your car, your cable modem, your TV, all are computers. They all have microcontrollers or microprocessors in them to handle various functions. It is cheaper and easier than doing discrete dedicated logic, even for simple things. Well, those need software of course and it turns out C/C++ are the thing that gets used a lot because you have little memory and power to work with. Pennies count in mass production and the smaller a CU, RAM, flash, etc you can get away with the better, but that means the code needs to be small. You aren't loading up Windows and running .NET on a microwave, you are getting a little PIC24 or something and putting on some highly efficient, directed code.

    Because of all these embedded devices, there's a lot of market for this kind of thing, it just isn't the trendy shit you see on hip "Web 3.0" sites. It gets done by people with engineering backgrounds at big companies.

    Also, speaking of small embedded computers, regular computers themselves have tons of computers in them. Crack open a desktop and you find a lot of chips in there, many of them computers in their own right. Your NIC is a computer. A simple one to be sure, but it is a processor that runs code, it is not all hard wired. Your SSD is a computer, it has a little chip (ARM usually) that runs the code it needs to do its job. Again, someone is writing the code for all that and that code is not being written in Java.

    Even when you have a platform that at a high level runs Java/.NET/whatever it had a bunch of lower level code on it.

    1. Re:They also never look at embedded software by Anonymous Coward · · Score: 0

      Sometimes C is too much.
      Check this out - 512 bytes of program storage and 32 bytes of memory.

    2. Re:They also never look at embedded software by BarbaraHudson · · Score: 1

      My stove doesn't have any microprocessors in it. Nice cast-iron heating elements on top, old-style mechanical clock, and if/when it dies I'll take it apart and fix it, same as I've done to other people's old stoves.

      The newer stuff is so crappily made that soon it will be worth paying to have 3d-printed replacement parts to be able to avoid the crappy newer models, that cost almost as much to fix because some circuit board fried as it would cost to buy a new one - which will also cost almost as much to fix because some circuit board fried.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    3. Re:They also never look at embedded software by Anonymous Coward · · Score: 0

      It's true that your average washing machine CPU has little power and memory by modern standards.
      But we're fast getting to the point where a low power ARM CPU from today would out class a processor of 15 years ago.
      Java was released 20 years ago, and certainly had traction by 2001.

      There will always be a place for C/C++, just like there will be for assembler. But like assembler, it's getting made more and more niche by the fact that "good and cheap" is better than "great but expensive".

    4. Re:They also never look at embedded software by fahrbot-bot · · Score: 1

      These days, everything is a computer. Your stove, your car, your cable modem, your TV, all are computers.

      Vibrators. (yes, Google it)

      --
      It must have been something you assimilated. . . .
    5. Re:They also never look at embedded software by Anonymous Coward · · Score: 0

      Sure, embedded systems might be programmed by those with engineering background at big companies, but their code quality is just as good as the Web 3.0 idiots.

      We may or may not always have C/C++, but we'll always have a class of programming languages with manual memory management.

    6. Re: They also never look at embedded software by Anonymous Coward · · Score: 0

      I don't think Java likes running with e.g. 20k of RAM!

  38. Re: Completely Load of Baloney! Actual Programmer by Anonymous Coward · · Score: 0

    I guess humans aren't self aware because we can't program AI

  39. job leadership consultancy by Hognoxious · · Score: 1

    If "job leadership consultancy" is an actual thing we're all fucked. I don't just mean IT folks, I mean the whole species. Frankly, we deserve it.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  40. It's a common PHB problem by Sycraft-fu · · Score: 1

    Though to be fair it is partially cause by a common problem with bad programmers. There are a lot of programmers that can only do a couple of languages, or will only do a couple of languages and see them as the tool for every job. They know Java so Java is the One True Way(tm) and they try to solve every problem using it.

    I have a friend who is a programming consultant, and quite a good one, and a common problem he has is that companies will disbelieve the breadth of his language experience. He has to convince/demonstrate to them that indeed he has a bunch of tools in his box and he uses the right one for the job. They are used to consultants that do one or two things only.

    If anything, that demonstrates to me that we are NOT done with needing coders. We have such a need for them that people who aren't very good can still get work. If you have a profession where you can get more people than you need, you get to pick and choose and get only those that are really good. When you have to take poor performers, it means you need more than you can get.

    When the only programmers getting work are the kind that are very good at solving problems, that view languages just as different tools to be used as optimal solutions, who can generate simple and elegant solutions to complex problems, then I'll say we have enough programmers and programming jobs are going away. So long as we have tons of code hacks that can only program in one language and generate code that barely compiles, let alone can be maintained, yet can still find work, well that means we still need more people.

    1. Re:It's a common PHB problem by chihowa · · Score: 1

      If anything, that demonstrates to me that we are NOT done with needing coders. We have such a need for them that people who aren't very good can still get work. If you have a profession where you can get more people than you need, you get to pick and choose and get only those that are really good. When you have to take poor performers, it means you need more than you can get.

      I don't disagree with your conclusion, but I think that your reasoning is wrong. Management at companies take poor performers because they don't understand their own requirements or the details of their workers' competency well enough to be able to tell a good performer from a poor one or to properly value a good performer. Management thinks that all coders (or generally, all workers) are interchangeable and so they optimize only for low costs (if they optimize at all).

      --
      If you want a vision of the future, imagine a youtube comments section scrolling - forever.
    2. Re:It's a common PHB problem by Anonymous Coward · · Score: 0

      It won't happen tomorrow and maybe not even in ten years, but eventually AI will be able to knock out the easy stuff that someone may use a "poor" coder for. The awesome coders will be the only ones needed because of advances in AI.

      It's both scary and exciting.

  41. And they are all people without perspective by Sycraft-fu · · Score: 3, Insightful

    They are looking at their narrow market, their company and thinking it is everyone. The best example is the VPN retard saying that Windows has gone away. Ummmm..... no. The massive Wannacrypt outbreak at companies is prima facie evidence that is wrong. There is lots of Windows all over the place at companies from tiny mom n' pop shops up to the biggest in the world. It is on desktops, servers, controlling equipment, etc, etc and people are still needed to run it.

    I'm sure in his little world, there are no Windows admins. A VPN service likely uses Linux for its server OS, and he just rents VPS's from places like Azure. So in their little company they are all Linux all the time. That's nice, but not at all representative of what is going on in the larger world and if he had any amount of perspective he'd know that.

    Anyone who thinks a trend seen at a single company, even a big one, can be generalized to the whole world is silly.

    1. Re:And they are all people without perspective by Anonymous Coward · · Score: 0

      Thanks for this, great point.

  42. If your job is "$Programming_language developer".. by Casandro · · Score: 1

    ... than surely you should seriously worry. Of course the people quoted are idiots following short term trends.

    Programming languages have their area of usefulness. Few, if any, programming languages are more or less general. However a mistake that's often made is to start with the programming language and then look for uses for it. Instead you should first look at your problem, and then find the best programming language for it.

    This is why, for example, UNIX was always based on multiple languages for certain problems. You have a layer of tools written in C and (originally) Assembler, then you have a shell which can be scripted, plus you have special languages like the one used in "dc". Most languages are simply not made to power a complete operating system in. If you try that, you'll end up in messes like Windows (C++) or Android (Java).

    So in short, if you only know one programming language, or just a small amount of basically identical languages, you should seriously considering another career.

    However if you want a steady job in IT where you never have to use your brain and never have to learn more than a few buzzwords, try getting some management position. There you will earn money by sitting in meetings.

  43. 90% of coders are crap by loufoque · · Score: 0

    The large majority of coders are just terrible so they use toy languages to write their toy applications. It just so happens that the majority of software people need is trivial, so that's alright.

    Meanwhile, there is a small minority of coders that work on major core and infrastructure projects, hard science, or in highly competitive areas. These use languages that give them real power and control.

    I think what the prediction really means is that as the market grows, this minority will stay constant as the majority increases.

  44. Please kill my job by kkoo · · Score: 0

    I work in IT security and yet my company, and all the others that I read about constantly in the news, don't give a damn about it. Time to kill all the IT security jobs and let the corrupt and idiotic companies suffer.

    1. Re:Please kill my job by Anonymous Coward · · Score: 0

      Security is a place that's going away. Humans don't do it. No human looks at IPS signatures in real-time. Humans just look at logs, and they can't even do that right, so aggregators and such are used. Splunk replaces 10 worthless security managers.

      At some point, "Splunk in the cloud" will be a service, employing almost nobody to replace thousands of useless security jobs.

  45. To our queer dean by Anonymous Coward · · Score: 0

    But the regional dean of Northeastern University-Silicon Valley...low level ai....will take over buisness programming...

    Because he does not know either job. I do both. It is not going to happen.

    We are in a great ai hype cycle because chips and especially gpus have become faster and cheaper . This permits iterative, brute force algos like nn and ga to succeed (yes, that's what they are) in controlling the motion and processing of visual information of robots. Which gets them doing some stuff in meatspace thay humans did before.

    But we don't have a fundamental breakthrough in AI, not in decades. For self driving cars to succeed, we have to change our liability laws sice, actually, their behavior is fundamentally unpredictable. This is so an incidrent like the one in NYC yesterday committed by a human will not bankrupt Tesla or GM when their car does something comparable.

    So in other words we have to lower the bar of culpabilty and expectations to accomodate self driving cars. They succeed as much via legislative engineering, as AI.

    Palm had to redefine what it meant to write the letter A , so their palm pilot handwriting recognition software could recognize it fast enough to useful.

    The deep understanding needed to write a business function, even a simple one, is hidden. There are tradeoffs which need to be communicated and negotiated between stakeholders all of whom have their own set of priorities, contingencies and goals which that simple business function will impact existing processes and people. You might as well be making the claim that robots will be running businesses , simply taking over existing human processes and decision making as they are done now, today.

      The Northwestern dean is truly a dean. I have a counter prediction for him. His mid six figure salary and those of his fellow travelers is bamkrupting the nation and has caused a multi trillion dollar bubble which when it blows will take the world's economy with it. Thst's the world you get with utopian chasing deans maki ng the decisions. University degrees will be replaced by the acceptance of proofs of competencies and professors will be replaced by videos.

    Whole swaths of idelogically driven majors which conduct themselves like this:

    http://www.skeptic.com/reading_room/conceptual-penis-social-contruct-sokal-style-hoax-on-gender-studies/

    will be wiped out at once as a citizen, student debt-slaves, and taxpayer rebellion puts a swift end to the Ponzi scheme cum swamp that is today's university.

    Enterprises and people who remain disconnected from the messiness of implementation or financial details because such details are, well, confusing and overwhelming, and who choose instead to invest in disconnected ideological talk and prediction on other people's money suffer total, catastrophic collapses of their lives, endeabors and belief systems.

  46. The problem with C++ is ... by golodh · · Score: 5, Interesting
    Libraries.

    Seriously, whilst C++ (and Fortran) are great to do the heavy computational lifting, most of that heavy lifting that goes on in computational engines can be isolated in, and accessed from, a specialised library.

    After that you really don't need C++ anymore.

    In fact you'll realise big productivity (and reliability) gains by *not* coding e.g. business logic or HMI's in C++. Use a script language instead and call those C++ libraries when you know exactly what you want done. I daresay that this is why languages like Python are so popular.

    In most applications that business logic and HMI fiddling is 95% of the code once you put the heavy computations inside a library call.

    The problem for C++ "coders" is that you don't want a load of mediocre C++ coders to build a library.

    Instead you want computational scientists and domain specialists to specify the algorithms, supported by a software engineer for systems design plus one or two really good C++ programmers who can both understand the algorithms and what they do, and who just so happen to be able to implement the design plus algorithms in high-quality, robust, efficient, and elegant code.

    1. Re:The problem with C++ is ... by dbIII · · Score: 4, Insightful

      Interpreted languages are fine so long as there isn't a lot of code sticking together the stuff in those libraries that are nicely compiled for you.
      If there is a lot of code to interpret they suck just as much as they always have - hence some really sloooooow stuff out there.
      There's some appallingly slow stuff running on fast hardware - things like GUIs that take a couple of seconds to respond to a mouse click and bring down a menu despite being on a 4GHz machine that's not doing a lot other than waiting for input. That's the sort of thing that shows off a failure of lazy programming and using the wrong tool for the job (eg. a massive lump of custom java instead of handing over to a library).

    2. Re:The problem with C++ is ... by Anonymous+Brave+Guy · · Score: 2

      Almost no mainstream programming language is truly interpreted any more, though, unless you're talking about something like a REPL interface. Even the JavaScript in your browser and that Python script you wrote the other day to parse a log file are actually JIT compiled behind the scenes these days, and will probably get within a factor of 2-3 of the performance of true compiled languages in most cases. The VM-hosted static languages like Java and C# have been in that position for a long time, and get closer still in performance terms once you're passed any startup costs.

      This isn't to say there aren't plenty of horribly unresponsive UIs and other inefficient code around, but that's rarely the fault of the language itself any more.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    3. Re:The problem with C++ is ... by aaarrrgggh · · Score: 1

      "Commodity" programming jobs will go away in all languages-- code monkeys go the way of web monkeys in the .bomb.

      Skilled programmers (especially with architectural aptitude) will continue to be in demand, although most projects will have a higher level of automation on the bulk of the work.

    4. Re:The problem with C++ is ... by Anonymous Coward · · Score: 0

      If today's typical LargeCorp software products/middleware are examples of your stated design methodology, I'll pass. They tend to be buggy, bloated, slow, and have UIs that don't integrate well with the target environments. Eventually, the result is a big messy pile of spaghetti code that becomes nearly impossible to maintain as the 14 different platforms it bolts together evolve and business needs change.

    5. Re: The problem with C++ is ... by Anonymous Coward · · Score: 0

      But that's good, since the objective of anybody new to a coding project is to trash the old stuff and reimplenent it in their own style.

  47. Didn't the Banks go Back to C by Anonymous Coward · · Score: 0

    Java is an odd idea. Why build a Virtual Machine, and not just an interpretor, the VM has to work as an interpretor anyhow.

    And C compile times are super quick nowadays.

    C++ well, in C you can make classes there is just often no real need.

    C is enough, it could be improved but it is a lot better than anything else. C is not hard, just have to get some patterns in it.

    C could have won even more, if Apache had dynamic loading modules and the hooking system was fully explained.

    C could be improved at the text level:

    "\
    Line One\n\
    Line Two\n\
    Line Three\n\ ...\n\
    "

    That \n\ at the end of the line, begs the question why make it work that way? Much simpler to just accept a newline, a python doc string is useful. They probably need to add that idea.

  48. C, C++, and COBOL by jlnance · · Score: 1

    > The president of one job leadership consultancy argues C and C++ coders will soon be as obsolete as Cobol programmers. "The entire world has gone to Java or .Net. You still find C++ coders in financial companies because their systems are built on that, but they're disappearing."

    He says that like COBOL programmers have a hard time finding jobs.

    All these predictions are what the author wants to happen, not what is actually going to happen.

  49. The arrogance is astounding... by Assmasher · · Score: 2

    ...clearly these are people who know absolute f*** all about creating software.

    C supposedly died long ago, and yet I find myself using it in critical situations to use libraries such as xmlsec in order to build the underpinnings of an IDP mechanisms - now, those underpinnings are used by golang, but that's been the way of software since the early 90's.

    I don't dream of writing C, and I think golang, .NET, Rust, et cetera, are great and useful languages; but, just because I've got some sexy new impact wrench, I still find myself reaching for my 30 year old adjustable wrench on occasion...

    --
    Loading...
  50. Flying cars by JWW · · Score: 1

    Code writing AIs are the flying cars of the IT industry. They're always just around the corner and they never show up...

  51. 2020? by c · · Score: 2

    Ninety percent of coding is taking some business specs and translating them into computer logic.

    I think everyone has encountered code-written-to-spec at one point or another. And had to rewrite code such that it violates the spec in order to match reality.

    That aside, a more interesting question is "which programming language will those AI-compatible business specs be written in?"

    --
    Log in or piss off.
  52. Um, what? by l0n3s0m3phr34k · · Score: 1

    "The rise of Azure and the Linux takeover has put most Windows admins out of work". Because moving your servers off-site and up into Azure totally eliminates the need for all administration, right? And Azure is magic, so it can just take your existing servers and move them up without you having to do anything at all. You don't need any AD sync running, configuring a new colo server, nothing. Azure just does it all for you.

    Right now, Azure isn't much more than an active-directory enabled colo service. Even if almost all your servers are up in the cloud, that is just one part of the infrastructure...ESPECIALLY from a network engineering standpoint. You still have all those physical endpoints, even if everyone is using a dumb terminal you will still have a switch closet, firewalls, etc. It's a slighly different skillset, but really nothing that a decent netop person can't learn. The VPN into Azure isn't going to configure itself, and your routing tables for the server vlan isn't going to re-write itself. At least not yet, but AI is too busy being a 4chan chatbot to learn how to config that stuff.

  53. Consider the source by Anonymous Coward · · Score: 0

    In order to understand the result, you might consider the collection of people surveyed. What makes you think that the top executives of companies have a clue regarding long term trends in computer language usage? It's really not their business to know, let alone care, about such things.

  54. Back in 1985 by Anonymous Coward · · Score: 0

    ... That's really ripe for machine learning and low-end AI.

    Yeah, I've been hearing that since 1985. The base case of any data system is probably easy: It's when one has to deal with legacy cases or edge cases, that programming requires skill. Look at how much embedded devices have changed: From a 4 KiB game that runs on an 8-bit CPU, to a car entertainment system that runs on a 32-bit CPU. If an AI has smarts to know what data-type and memory-size is needed to store data, it has the smarts to know what one wants from the "business specs".

  55. US centric view by Nahooda · · Score: 2

    I live in the larger Düsseldorf metropolitan area in Germany and work as a PHP coder. There are a lot of web agencies and start ups here. And the dominant programming language is without a doubt PHP. In Berlin, Germany's start up capital, however, a lot of start ups use Ruby.

    I don't know why that is but apparently which programming language is hot or not seems to depend on the geographical area you live in and, of course, on the industry. I seriously doubt that SpaceX rockets run on Java code...

    The views stated in the abstract are very US centric.

    --
    Sigs suck!
    1. Re:US centric view by CanadianMacFan · · Score: 1

      I guess they must use .Net then. :)

  56. A Bunch of Guys, Quoted by seven+of+five · · Score: 1

    Who may or may not know anything....

  57. Yeah right by bothorsen · · Score: 0

    "The entire world has gone to Java or .Net"

    Okay, that's all I need to hear. I've been a C++ programmer for the last 15 years and I have only felt an increase in available jobs.

    Also, when it comes to desktop applications, java sucks big time and .net is (at least in practice) Windows only. Now, I know that to those zombie forecasters the desktop is dead. But fortunately that's not the case. UI on web is still fairly simplistic or incredibly complex and buggy, and there haven't really been a big shift in this area in many years. Mobile has been on the rise of course, and relatively still grows compared to desktop. But the decline of desktop sales stopped about two years ago. The reason is that there are two many things that are not suited for mobile or web - try to imagine a HTML5 canvas based CAD application :)

    To me it feels like yet another case where a java consultant claims the entire world will run java.

    I'm not worried for my job, and I still take applications from other good C++ coders.

  58. stfu Satan's Cum Tester! by Anonymous Coward · · Score: 0

    tech support will be replaced by Cobol.MONO speach synthesized bot with a Arkansas accent to conceal the artificial fact that you will never feel satisfied with your assistance anways so let us just cut costs of those unhelpful H1B Hindi bots.

    PS: RIP Xevil (in subject) the only app u could play other than NetHack and feel u didnt lose time when u lost the game.

  59. We will then have to dodge turds from flying pigs by Anonymous Coward · · Score: 1

    Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI."

    Bwahahahahahaha! Oh damn, we can't even get our chat bots working reliably (we use them to auto-generate bugs and tasks). And in three years they're going to be replacing programmers? Fucking priceless!

    AI is going to divine the real requirements from the specs generated by PHBs??? When pigs fly!

    From the outside (I'm a mathematician) it's clear that almost all programming requires taking some PHB's brain fart and transforming it into meaningful useful tool.

  60. Infoworld needs to go to the classroom by mykepredko · · Score: 1

    Not colleges and universities but grade school - everybody is doing Scratch (https://scratch.mit.edu/)! Seriously, 22.7 million apps so far so clearly it's the fastest growing language/development tool and the students aren't learning anything else.

    Oh, my. This means that C/C++/C#/Objective C, Java, Javascript, Python, Perl, Wordpress and anything else being used today is going to be obsolete when the next generation of programmers hits the world.

    The simple analysis above has just about as much validity as the one done by the Infoworld "experts". As many people above have pointed out, there are applications for a variety of new and up and coming platforms that don't fit into their limited perspective on the world.

    I think the authors of the study spent too much time talking to themselves in conferences and not enough time looking at what programming is going on today along with the applications they are being used to program.

  61. A question by Anonymous Coward · · Score: 0

    But the regional dean of Northeastern University-Silicon Valley has the glummest prediction of all. "If I were to look at a crystal ball, I don't think the world's going to need as many coders after 2020. Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI."

    Has the "regional dean of Northeastern University-Silicon Valley" ever actually used AI or programmed, or is this just one more PHB blowing smoke over something he knows absolutely nothing about?

  62. IT jobs pwned, will be (as Yoda says) by Anonymous Coward · · Score: 0

    Drawing similarities with Integrated Circuits and electronics 2 to 3 decades ago, everyone was into them, it paid very well. Eventually, we use electronics in everyday things from Kids toys to high-end aircrafts. But really, how many people do you know that work directly in developing them ? Hardly anybody. Software/IT is going there. A few engineers will design such good AI, that will build software by itself, manage and maintain everything by itself and improve it's own self. Better start looking at growing food.

  63. It is going to boil down to energy efficiency by Anonymous Coward · · Score: 0

    Sure the diversity of languages has been keeping the IT market going -- recode the same logic in 5 different languages; Change everything from ObjectiveC to Swfit and next Java (thanks to Oracle -- "no coffee for you") to Dart/Go.

    Also, keep in mind if it is not hard or you are just calling libraries you are going to be out of a job in a few years because someone elsewhere will do it cheaper.

    Sure, software development, testing, maintenance, etc. is important. However, at the end of the day when that piece of software is deployed to millions of devices energy efficiency is going to be the more dominant issue in the near future. Maybe we need something like EnergyStar for software. Any language that is ultimately not going to be energy efficient should and hopefully will die out -- assuming environmental issues start dominating business greed and software engineers stop being stupid and make things easy. Maybe companies using sloppy/energy-inefficient languages should start paying higher taxes to offset their ongoing environmental molestation.

  64. Bull by Anonymous Coward · · Score: 1

    > The president of one job leadership consultancy argues C and C++ coders will soon be as obsolete as Cobol programmers. "The entire world has gone to Java or .Net. You still find C++ coders in financial companies because their systems are built on that, but they're disappearing."

    NO. This idiot apparently thinks that these alternatives must be woven out of thin air. EVERY SINGLE GOD DAMN THING IS PROGRAMMED IN C AT SOME POINT.

    > A data scientist at Stack Overflow "says demand for PHP, WordPress, and LAMP skills are seeing a steady decline, while newer frameworks and languages like React, Angular, and Scala are on the rise."

    All garbage. Do you really think you can start up web server and configure nothing?

    > The CEO and co-founder of an anonymous virtual private network service says "The rise of Azure and the Linux takeover has put most Windows admins out of work. Many of my old colleagues have had to retrain for Linux or go into something else entirely."

    This is only half true. Again, depends if you're talking about client-facing servers, or enterprise servers. "Cloud" services is another name for "paying through the nose for 30% less efficient hardware due to the high overhead costs, and high latency of cloud services. Cloud services are easily run on Linux because your virtual machines are identical. But that comes with the cost of having ZERO control over the hardware, so things like bufferbloat, hardware acceleration and error correction are not available at any level. You can have the most efficient VM setup, but your cloud host may have done nothing to tune it to the type of application. You see this a lot with online game servers where some game is run in a VM, and one cloud host will have high latency, while another will have zero latency, because a "file server" VM is not the same as a "VoIP" type VM. A file server needs a lot of buffering to be efficient where as a VoIP or MMORPG needs zero buffering because it needs zero latency.

    > In addition, "Thanks to the massive migration to the cloud, listings for jobs that involve maintaining IT infrastructure, like network engineer or system administrator, are trending downward, notes Terence Chiu, vice president of careers site Indeed Prime."

    Bollocks, The cloud is just the current trend before enterprises start buying their equipment again to save money.

    >The CTO of the job site Ladders adds that Smalltalk, Flex, and Pascal "quickly went from being popular to being only useful for maintaining older systems. Engineers and programmers need to continually learn new languages, or they'll find themselves maintaining systems instead of creating new products."

    And there is nothing wrong with that. The reason these languages kinda "died off" is that they were inherently inflexible, just like C++, Java and .NET, and all it takes is one backwards-incompatible feature breaking the C runtime on the OS with one security update to break a everything. Look at Microsoft's push for SecureCRT in Visual Studio 2003, and not actually pushed as a feature until C11 as Annex K.

    The president of Dice.com says "Right now, Java and Python are really hot. In five years they may not be... jobs are changing all the time, and that's a real pain point for tech professionals."

    Java is already dead as a desktop language. The ONE thing on the desktop that uses Java is Minecraft. That is it. Python is currently enjoying a brief usage uptick because it's easy to integrate into some open source development pipelines. That said, Python is a miserable language to use beyond scripting in something that is already built in C. Which is true of everything from Javascript to Lua.

    Everything out there is built on C, thus discouraging people from learning C, either by piss-poor compiler support (Microsoft) to encouraging using the C++ compiler on C code (also Microsoft) instead of just building a C11 compliant compiler means that people will simply not use your product as long as other

  65. Perl Developer by Herkum01 · · Score: 3, Interesting

    I have been doing Perl development for a long time, and in the last two years, it has straight out disappeared. You can still find Perl as a job requirement, usually as part of DevOps positions, but actually writing apps in it, they are gone.

    I have noticed that the new fad for LAMP is Python, it has shown up everywhere and years before it PHP, but Perl has been relegated to being a systems administration tool.

    1. Re:Perl Developer by __aaclcg7560 · · Score: 3, Interesting

      I get a lot crap for stating this on Slashdot... but I thought Perl disappeared years ago. References to the LAMP stack was always to PHP or Python. Perl isn't being used to administrator the Windows systems at my current government IT job. I haven't ran into Perl in any of my private sector jobs in the last 20+ years.

    2. Re:Perl Developer by Herkum01 · · Score: 2

      It was always around, but it was not bringing in younger programmers. Instead, those guys were being pulled into the next fad. I cannot blame them, they needed a job and a lot of the problems they were supposedly solving were more BS than real issues.

      It would keep getting deprecated by Java and Ruby, and then PHP, now it Python (this is over the course of the last 13 years or so).

      It has always existed in the *NIX administration space and is it installed by default and it does things that BASH simply cannot do.I suspect it will always be around behind the scenes, but will not be a primary job skill anymore.

    3. Re:Perl Developer by Anonymous Coward · · Score: 0

      I used it in an HPC environment to generate tens of thousands of jobdecks. Basically, very useful to do quick throwaway scripts for text. Outperforms python by ~8X speed.

    4. Re:Perl Developer by Anonymous Coward · · Score: 0

      I get a lot crap for stating this on Slashdot... but I thought Perl disappeared years ago.

      You thought it disappeared because you're a halfwit without any awareness of the world around himself.

      You get a lot of crap for stating this on Slashdot, because it is a stupid fucking thing to say. Just because you haven't run into it doesn't mean that it doesn't exist.

      "I thought C++ died out years ago, because all I ever hear about is Java, Ruby, and Javascript!"

      The fact that you thought this was the case suggests two things:
      1) You can't statistics. (Your anecdote =/= valid data)
      2) You are completely unaware of the state of the IT industry, despite claiming to be gainfully employed IN that industry.

    5. Re:Perl Developer by __aaclcg7560 · · Score: 1

      You are completely unaware of the state of the IT industry, despite claiming to be gainfully employed IN that industry.

      I'm a virtual ditch digger. I work in the lowest levels of IT. I'm not required to know "the state of the IT industry" and not knowing doesn't make me it halfwit.

      Out of curiosity, why should I use an unpopular language like Perl when I'm already using its replacement Python?

      http://www.infoworld.com/article/2607775/perl/perl-language-s-popularity-hits-all-time-low.html

    6. Re:Perl Developer by Anonymous Coward · · Score: 0

      I'm a virtual ditch digger.

      More like, the shit that gets tossed in the ditch.

      I'm not required to know "the state of the IT industry" and not knowing doesn't make me it halfwit.

      No, you're not required to know anything, creimer. God forbid you should exhibit even the most cursory interest in your chosen profession, though - I mean, why would you want to understand what's happening in the IT space? It might lead you to confusing feelings when you're trying to shitpost on Slashdot with yet another inane, pointless opinion that's just burning you up. It's far better to remain comfortably ignorant of anything happening around you.

      Out of curiosity, why should I use an unpopular language like Perl when I'm already using its replacement Python?

      Who's asking you to "use Perl"? I don't "use C", and I don't "use Python," but I'm aware that both languages are alive and well in the industry, and indeed, that plenty of people are still using them today. I'm even aware of them enough that I can read the code without too much difficulty.

      Also, I don't shit up Slashdot telling people, "LOL I DON'T USE PYTHON, I THOUGHT IT WAS A DEAD LANGUAGE LOL NOBODY I KNOW USES PYTHON FOR REALS MAN."

      If you had the merest shred of curiosity about the world, maybe you could read your own link, notice that it references the TIOBE index, and then go look up the TIOBE index, to see that Perl is currently ranked 10th, down 1 slot from #9 last year at this time, between PHP and Ruby. Two more "dead languages" that nobody uses, right? And language #16 - Go?! TOTALLY MORIBUND. And #14 - R? WHAT IS THIS I DON'T EVEN!

      Fucking idiot. Keep celebrating your ignorance, creimer. We're all laughing at you.

    7. Re:Perl Developer by __aaclcg7560 · · Score: 1

      More like, the shit that gets tossed in the ditch.

      Correct. I stand at the bottom of the hill and wait for the shit that rolls downhill. I deal with it, I bury it or I shovel it into the ditch.

      We're all laughing at you.

      So what?

    8. Re:Perl Developer by Anonymous Coward · · Score: 0

      I stand at the bottom of the hill and wait for the shit that rolls downhill.

      Thus you once again underscore just how ill-suited you are to your chosen industry.

      A competent engineer would not stand there, passively waiting to be buried in a pile of shit, and claim that that passivity is somehow "miracle work." A competent engineer would invent sewerage systems.

      So what?

      So, stop displaying your ignorance as a badge of honor. If you don't want to, that's fine - we can keep laughing at you and enjoy our lives watching you proudly fail. But if you stopped posing as the butt of every joke, you'd be a lot happier.

    9. Re:Perl Developer by __aaclcg7560 · · Score: 1

      A competent engineer would not stand there, passively waiting to be buried in a pile of shit, and claim that that passivity is somehow "miracle work."

      That's the nature of the job. My job is one of a thousand "shovel ready" jobs that came about because "engineers" failed to take security into consideration. Because of my fellow virtual ditch diggers, security compliance went from 70% to 95%.

      But if you stopped posing as the butt of every joke, you'd be a lot happier.

      Who said I was unhappy? The reason I come to Slashdot is to have fun — at your expense, of course.

    10. Re:Perl Developer by Anonymous Coward · · Score: 0

      I have been doing Perl development for a long time, and in the last two years, it has straight out disappeared. You can still find Perl as a job requirement, usually as part of DevOps positions, but actually writing apps in it, they are gone.

      Go figure with that ongoing clusterfuck know as Perl 6.

      Python 2 to Python 3 is almost as big a clusterfuck.

    11. Re:Perl Developer by david_thornley · · Score: 1

      [Perl] was always around, but it was not bringing in younger programmers.

      I was going to make a comment about how I still use it, then I noticed "younger programmers".

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    12. Re:Perl Developer by __aaclcg7560 · · Score: 1

      slashdotters are going to take advice from special-ed, starting.... NOW

      Start with "The Richest Man in Babylon" by George S. Clason.

    13. Re:Perl Developer by Anonymous Coward · · Score: 0

      You are NOT required to know the state of our industry. You are NOT required to know a bit about Perl. You are not required to have finished a real college. You are not even required to be computer-literate.

      The point of this website was all the people that fit certain requirements want to talk to each other. Now here's a person that doesn't fit in - you - spamming the site. You are in the GNAA and APK category, but unlike those two, you are not funny, you are annoying.

    14. Re:Perl Developer by __aaclcg7560 · · Score: 1

      did some investing when the .com bubble burst - made about 14k but it was too much work.

      I turned $6K into $30K on the way down in the dot com bust. Was out of the stock market when the Great Recession hit, so I missed all the early warnings and opportunities to ride the roller coaster again. That's why I'm building up my cash reserve for the Trump recession.

      [...] a failure personally and financially, by our standards on this site.

      I've gained and lost money three times in my lifetime. Each time I picked up myself and started over. I'm not impressed by what passes for success on this site.

    15. Re:Perl Developer by Anonymous Coward · · Score: 0

      Yeah, we don't care if you're impressed by us or not. You giving us money making advice is like the janitor giving advice while I'm taking a piss. You live in what we consider a cartoon - your opinions and your life are not a part of the real world we live in. You go apply your patches and write your little scripts. We have actual things to do.

      We just care that you stop spamming us, which you don't. Fat loser spammer with a low IQ who thinks a lot of himself - annoying, but whatever; this is just a website - I can scroll a little more because of you to get news while I'm on the toilet.

    16. Re:Perl Developer by __aaclcg7560 · · Score: 1

      You giving us money making advice is like the janitor giving advice while I'm taking a piss.

      Funny you should mention that...

      https://www.google.com/amp/s/amp.businessinsider.com/ronald-read-secret-millionaire-2015-2

    17. Re:Perl Developer by Anonymous Coward · · Score: 0

      A boring underpaid loser lives a really shitty life so he can save up money for when he is old and sick. Your point?

      I spend about 80k/year on traveling and seeing the world, have a big house that's worth just under a mil and 2 years left on my 10 year mortgage, and invest about 40k/year into slightly higher than inflation low risk funds. The yearly investment doubles in two years once I own my home. Your hero is that stupid unskilled loser?

      Oh, yeah - I guess he is. Forgot who I'm talking to here - you're not a slashdotter, you're our daily spammer.

      Here's advice, actual advice. Do well in school. Do really well in college. Be in high demand and get a high paying job. Live to the fullest funnest you can that lets you save about 50k/year. I need to be worth about 5mil in today's terms by the time I retire, which I want to do before I'm 50. That happens if I keep doing what I'm doing.

      Any more examples of how to be a stupid unsuccessful loser who throws away the only life they have to live?

    18. Re:Perl Developer by Anonymous Coward · · Score: 0

      Gaining and losing money 3 times is your definition of success? We define that as extreme failure here. Do us a favor and don't post more advice. On anything.

      Post more pictures on how you diet by eating a bowl of fat though. Also another pic of your poofy fatball body and how you think you're a football player. Those were really funny and we like pictures. Maybe also tell us how the engineers at Cisco didn't design their servers right and they should've put in redundant IO cards into the blades. I was at a pump once and this kid told me I should fill up with butane instead of gas because it's cheaper (europe). I laughed my ass off.

      Just because you redefine words for yourself to make you not a complete failure does not mean you redefine words for others. We judge you by our standards. If you don't like it - don't bitch about it 24/7/365. But don't give continuous examples of shit and tell is it's cake. You're out of your league, you're out of you social class, and you are out of your intelligence ranking. I'm sure there's a PC Support/RackNStack subreddit for people with shitty jobs who like to have fake titles.

    19. Re:Perl Developer by __aaclcg7560 · · Score: 1

      Gaining and losing money 3 times is your definition of success?

      If you lost it all, could you regain it back again? That's the true measure of wealth.

      Do us a favor and don't post more advice. On anything.

      Here's another book on wealth: "Job: A Comedy of Justice" by Robert A. Heinlein.

    20. Re:Perl Developer by __aaclcg7560 · · Score: 1

      A boring underpaid loser lives a really shitty life so he can save up money for when he is old and sick.

      Re-read the comment. A janitor gives you stock tips at the urinal and you blow him off because you two don't share the same socioeconomic background. The paper announces his death and he leaves behind his a whole huge, you would be kicking yourself in the ass for not listening.

      Or let's consider my uncle in Idaho. You look at him at him, think that he's a poor farmer, and blow him off. Except he's not a farmer. He's a tractor driver who owns a $250K tractor with computer navigation, satellite TV and air conditioning. He makes more money than the farmers do because he tills the ground from Spring through Fall, working 16 hours per day, and spends the winter fishing on the Gulf of Mexico. His net worth is $1M+.

      Here's another book on wealth: "The Millionaire Next Door" by Thomas J. Stanley.

    21. Re:Perl Developer by __aaclcg7560 · · Score: 1

      The point of this website was all the people that fit certain requirements want to talk to each other.

      Citation, please?

    22. Re:Perl Developer by Anonymous Coward · · Score: 0

      The one giving financial advice is you, on a forum where you are the least successful person. A net worth of 1M+ at an old age after working 16 hour days is a joke. My paid off house was assessed at 1.8mil a couple of years back. It's half paid off. I am 37, work a relaxing 8-10 hours per day, half from home, and take 3 months of vacation per year. Your uncle is a great example of what not to do, and so is the guy in the book. You are the greatest example of what not to do. Your advice and opinions is like listening to a little kid.

    23. Re:Perl Developer by Anonymous Coward · · Score: 0

      You want me to go through your comment history and find all the replies of people telling you to fuck off and stop spamming us? Sorry, I'm not apk.

      I know you think this is a conspiracy against you, of drunk "asshats" from Ann Arbor. It's not. I'm not from Ann Arbor. I am from Canada though. I don't drink, but I am close to Ann Arbor. Am I also a drunken asshat?

      The citation is uptop ugly fuggo. It says "news for nerds." Nerds did not go to special ed, nor did they get kicked out of college, nor do they make 50k at such an old age, nor are we responsible for patching windows "workstations." Us Nerds were on the math team. I don't remember you from our competitions.

    24. Re:Perl Developer by __aaclcg7560 · · Score: 1

      A net worth of 1M+ at an old age after working 16 hour days is a joke.

      My uncle is 70 and still working. The $1M+ figure is just an estimate based on what people can see: the tractor, his house and his truck. No one knows how wealthy he is. It's not polite to ask. My point is that you can't tell who is really wealthy or pretending to be wealthy.

    25. Re:Perl Developer by Anonymous Coward · · Score: 0

      Heavy Creamer missing the point again. What is it with you - you always keep providing details supporting the point you are trying to counter.

      Being 70 after working 16 hour days and being worth 1M+ is ridiculously unsuccessful. 2M+ is as well for that kind of life. Why the fuck would anyone here besides you want advice from this moron on how to do anything? What is it you are not getting about that? A million or two saved up by retirement is Nothing to show for your Entire life. This is not the helpdesk subreddit full of nigs. It's been pointed out to you in another comment. "Site for Nerds" - do you even read brah?

    26. Re:Perl Developer by __aaclcg7560 · · Score: 1

      Us Nerds were on the math team. I don't remember you from our competitions.

      That's funny. The nerds I grew up with were making pipe bombs in the 1970's. I don't remember you in chem lab.

    27. Re:Perl Developer by Anonymous Coward · · Score: 0

      We were in AP chemistry. You on the other hand were in special ed - the classes for retarded children. That's why you don't remember me from the chem lab.

    28. Re:Perl Developer by Anonymous Coward · · Score: 0

      YEah, I don't need advice on how to work 16 hour days into my 70s to make what I make in 6 years. Your uncle has lost at life.

    29. Re:Perl Developer by Anonymous Coward · · Score: 0

      "News for Nerds. Stuff that matters"
      -slashdot

      you are not a nerd, and stuff that matters to us is not the details of your silly life.

    30. Re:Perl Developer by Anonymous Coward · · Score: 0

      the true measure of wealth is income and net worth, not repeatedly losing some change. Mine is $3k/week and 1.5mil. I'm 35. I've never lost it, but if I did, I'd have another 3k in a week. but I'm not stupid enough to lose it. you want to give people like us advice and suggest books? You live in a cartoon. Your life experience is not taken seriously here - it's a goofy joke.

    31. Re:Perl Developer by Anonymous Coward · · Score: 0

      you asked for a citation that this site is not for people like you. you were given that citation as the slogan of this site. when you log on to slashdot, look at the title of the page. it stares you in the face every time you load it. read it, and go somewhere else. if you have a bank account at citibank and your tab says 'wells fargo' you know you are on the wrong site. when your tab says 'news for nerds' you are also on the wrong site. you are the opposite of a nerd in every way.

    32. Re:Perl Developer by Anonymous Coward · · Score: 0

      What kind of a chemistry lab did they have in special ed? Is that a lab where you poured water into oil to see they don't mix?

      It is irrelevant who you grew up with. It is relevant who You are. And a Nerd you are not - you fail every single qualification besides being unattractive.

    33. Re:Perl Developer by Anonymous Coward · · Score: 0

      you - you think trump is going to be bad for businesses? are you a retard of some kind? even the most avid anti-trump analysts don't way trump is bad for business. bad for the average person, bad for international relations, bad for politics, will stomp all over the constitution, nasty for the environment, but for the gdp? i ask again - are you a retard of some kind?

      you go and wait for that trump recession. no one gives a fuck what you do or think. just stop posting stupid shit on this site. this site is for not you. it is for smart people.

  66. Programming or IT jobs? by tbuskey · · Score: 2

    * The CEO and co-founder of an anonymous virtual private network service says "The rise of Azure and the Linux takeover has put most Windows admins out of work. Many of my old colleagues have had to retrain for Linux or go into something else entirely."

    * In addition, "Thanks to the massive migration to the cloud, listings for jobs that involve maintaining IT infrastructure, like network engineer or system administrator, are trending downward, notes Terence Chiu, vice president of careers site Indeed Prime."

    Everyone (and half the ones quoted in the OP) talk about programming, not IT like in the question.

    The IT dept. worries about desktop, data management (NAS/backups), security, connectivity from the desktop to the rest of the company/world, remote access, email and other business apps (including database). I think that kind of IT will be around for awhile. The apps/email might move to outsourced. The desktop will probably be Windows in most cases for a long time unless MS really makes it unusable for most users.

    We're already seeing some examples of traditional IT moving away from Windows. I look at my kid's school. All chromebooks & cloud. The school IT needs to do networking/WiFi and account management. I expect that the data management and software upgrades is minimized. There would be security in network configuration and policies for teachers/parents/students. Probably some internal applications (building management and phones?) that can't be outsourced to a web app. Everything else is outsourced to Google. They save lots on IT compared to Windows/iPads that I've seen at other schools.

    1. Re:Programming or IT jobs? by Anonymous Coward · · Score: 0

      I might work at your kid's school because exactly what you described is happening. We still need an IT department to manage the network/wifi and do basic repairs on systems, "hand hold" staff that are unfamiliar with the technology, and repair interactive classroom technologies, but overall we can keep school IT costs very low and keep a small department. Google and Chrome are free/cheap and require a lot less management while still providing what the teachers need to educate students. I'm starting to see phones move to the "cloud" for management, and more and more our HVAC systems are moving to a central server. Our first IoT device int he school was a pencil and paper dispensing machine that sent messages for inventory refreshes via our wifi. And as more young teachers enter the workforce, we see less of a need to teach the teachers or "hand hold" them through the technology. I still think we'll see a huge workforce demanding access to Google Apps (or at least "cloud" apps) in the very near future as they are educated using them the way Microsoft did in the 1990's.

  67. TIOBE says they're wrong on Pascal & C/C++ by Anonymous Coward · · Score: 0

    See subject: I'd also like to include the fact that Java & C#/.NET dialects are VERY close imo @ least (picking up java from a C++ background's pretty much cake (except EVERYTHING is an object in Java, not the case in C++)).

    * Personally? I try stay away from interpreted runtime driven code (Java, Python, C++ to an extent in MSVC++ @ least in GUI interface code being LIB.DLL run, .NET, VB etc.) but I had to use it @ times while working... they all work but aren't my preference (I like doing single .exe code, no 3rd party lib/dll OR runtime driven stuff IF/WHEN possible) - you never know when errors pop up in them is why ala https://it.slashdot.org/comments.pl?sid=10606043&cid=54411855/ where SQLite was found to have bugs.

    They are correct in my experience that MUCH of what's done out there is "business logic/processes" translating to DB calls etc. (online webby stuff is mostly this, but so is a lot of client-server).

    APK

    P.S.=> TIOBE INDEX current - For everyone's reference https://www.tiobe.com/tiobe-index/ Delphi/Object Pascal's STILL in the top 20 (was #11 1-2 months back too) & always is - C++/C are STILL, as always, in the top 10 too... apk

    1. Re:TIOBE says they're wrong on Pascal & C/C++ by Anonymous Coward · · Score: 0

      For everyone's reference https://www.tiobe.com/tiobe-in... Delphi/Object Pascal's STILL in the top 20

      Dephi's runtime is statically compiled... You can do the same with c++ binaries you produce and compiled java, python native executable (ELF/PE binaries) can also do the same...

  68. Managers by Anonymous Coward · · Score: 0

    CEOs, CTOs and presidents cited here. Do you really expect any of them to have a clue?

  69. Local networks are not going away by zerofoo · · Score: 4, Insightful

    "Thanks to the massive migration to the cloud, listings for jobs that involve maintaining IT infrastructure, like network engineer or system administrator, are trending downward"

    There are many businesses that will never be in the cloud. Many companies are not comfortable putting their data on someone else's computer. Also some companies are legally required to keep their data local.

    Finally, even businesses that have embraced the cloud (my organization is one of those) still have local infrastructure that needs support - switches, firewalls, telephones, security systems, building access systems - etc. Those simply can not be put in the cloud - the devices need to be local - and those devices still need to be managed.

    1. Re:Local networks are not going away by Halster · · Score: 1

      Yup, that's right. The business I manage IT for is actively moving more to the cloud so we can spend more time maintaining those other systems you talk about.

      --

      "How much truth can advertising buy?" - iNsuRge - AK47
  70. Oh great! by zmooc · · Score: 2

    So I no longer need to struggle with C/C++ because I need consistently reliable sub-2ms response times and any auto-vectorization I can get. That's awesome! But... what exactly is the alternative supposed to be?

    Also, all these people are talking about languages, not jobs. They appear not to understand that programmers can switch to other languages relatively easy and probably already use many languages.

    --
    0x or or snor perron?!
  71. Re:We will then have to dodge turds from flying pi by Anne+Thwacks · · Score: 2
    AI is going to divine the real requirements from the specs generated by PHBs??? When pigs fly!

    I have worked in requirements capture: my money is on the pigs.

    --
    Sent from my ASR33 using ASCII
  72. This article brought to you by... by Anonymous Coward · · Score: 1

    This article brought to you by...

    Tech companies and their endless pursuit to drive down software engineer/developer wages.

    Article is completely false and anyone working in the industry sees right through the bullshit.

  73. Re:COBOL by pipingguy · · Score: 1

    "And those guys make a pretty bunch"

    Have you even seen the profile photos of these neckbeards? Sheesh! But I suppose attractiveness is a subjective thing...

  74. These predictions are idiotic by ilsaloving · · Score: 2

    The list was all meh. Maybe. Um...

    Until I got to sysadmin. This is so mindbogglingly stupid that I'm amazed this guy can tie his own shoes in the morning. I didn't even bother looking at the rest of the list.

    If you think your company doesn't need sysadmins anymore just because your infrastructure is 'in the cloud', I REALLY REALLY want to see you do that. Just so I can laugh as your entire company collapses.

    1. Re:These predictions are idiotic by Anonymous Coward · · Score: 0

      I work as a sysadmin for over 3-4 years now. And I see that many of our needs are actually going into the cloud (Azure AD, Redhat SAN/NAS, Exchange etc...) Many of these do not need much knowledge or maintenance. So I think it is kinda right to assume that the jobs will be fewer and more specialized. The only thing that is handled completely within is VPN for us.

      My question, Why do you think that assumption is generally wrong?

    2. Re:These predictions are idiotic by ilsaloving · · Score: 1

      Because you still need the skills an knowledge to manage the infrastructure.

      The only thing that the cloud does, is save you the nitty-gritty hassle of dealing with the bare metal. You don't have to dick around with iSCSI connections, trying to figure out why your bonded network connection isn't using LACP, etc.

      It does not eliminate the decision making required when setting up your cloud infrastructure. You still need to segregate nodes properly, managing user accounts, implementing proper firewall rules, etc. And you still need to manage your instances just like any other server. Updates, proper security configuration, etc. General routine maintenance is still necessary.

      Certainly, it will devalue certain specific job categories like network administrators, etc, but it won't eliminate them. Your OS knowledge, etc, are no less valuable now than it was before. The only jobs this will eliminate are those involving physical installation and connectivity, and that's only if they have no other skills. AFAIK, such people don't exist.

  75. LOL by Anonymous Coward · · Score: 0

    One of the most reductionist pieces I have seen in ages. Programming languages are not like ANSI standard power outlets. They are not one-size-fits-all. You don't just decide "screw c++ for this aircraft embedded system, we're going with interpreted Perl instead". There are legitimate engineering choices made every day, and the implementation language is one of those choices.

    It's a poor engineer that looks at their task and believes they can use the same tool for every single job.

     

    1. Re:LOL by Anonymous Coward · · Score: 0

      Well you can use C++ for every job, large or small, embedded or distributed. So that's a bad example.

      You can't use JavaScript, Python, Ruby and Perl except in a few narrow fields. They should be thought of as DSLs. Haskell, OCaml, Erlang and Go can be used in many situations but their footprint isn't great for embedded and the tools for static analysis aren't really there so you shouldn't use it in mission critical situations.

      Any sometimes industries mandate a particular language and you have no choice in the matter. If you make automotive stuff it has to be MISRA C compliant, then you are stuck with C or the subset of C++ that HICPP offers.

  76. Um... C++ can do that, too. by Anonymous Coward · · Score: 0

    There's nothing preventing you from writing parallel computations in C++, especially now that the C++ committee has for many years had an eye on exactly that aspect of computing.

    Basically, any computational efficiency your pet language can do, C++ can do better.

  77. Then slow down AI. by sethstorm · · Score: 1

    Since it represents an existential threat with no real replacement, slow AI down to a human-manageable pace.

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  78. Obsolete C-suite roles by Anonymous Coward · · Score: 0

    CXO - Chief Experience Officer
    CPO - Chief Privacy Officer
    CVO - Chief Visionary Officer
    CIO - Chief Innovation Officer
    CSO - Chief SEO Officer (Search Engine Optimization)

  79. Incompetent idiots or paid shills should goextinct by bettodavis · · Score: 1

    The fact this incompetent blabber mouth (or paid shill) can't code his way out of a paper sack, doesn't mean the world stopped needing people that actually know their way with actual computers and the way they really work.

    C and C++ still are the method of choice for those looking for making things work with the best performance (C) or with a reasonable compromise between abstraction and performance (C++).

    C and C++ are so enduring precisely because they don't provide the many syntactic and semantics candies other languages do, making these other languages unfit to work with the hardware as it is.

    Computer science and engineering have gone a low way since their beginning, making many people live all the time at a high level of abstraction, and also believe that all there is in computers can also be made in the high level abstractions they are used to, the ones that clean themselves up after being used, and that find missing dependencies automagically.

    Not so, computers still are stupid, stubborn machines that need to be forced to behave. And for this, low level languages still reign supreme.

  80. Oh, really? by Shoten · · Score: 3, Insightful

    The president of Dice.com says "Right now, Java and Python are really hot. In five years they may not be... jobs are changing all the time, and that's a real pain point for tech professionals."

    I think back to situations like steel workers or coal miners whose jobs disappear...and to the combination of where these people live, the lack of variety of the local economy, and the difficulty translating their skills to other industries. These things combine to make it nearly impossible for them to maintain their livelihoods. Conversely, in the tech field, that constant rate of change makes it not only relatively easy to change specialties, it eliminates any stigma that comes from having done so.

    Yes, this means that fields and skills sometimes go out of favor...but at least you're not stranded when they do. You have options. Whether or not you exercise those options...that's another thing. I'd rather have options, and have it left up to me whether I fail or succeed.

    --

    For your security, this post has been encrypted with ROT-13, twice.
  81. So what happens after the death of C? by Anonymous Coward · · Score: 0

    Hey, so when can we expect the Linux kernel to be re-written from the ground up in Java or Python? I think that would be really awesome and socially just since they are such popular languages among our younglings. Better yet, how about Go? Go seems well-suited for writing an O/S kernel isn't it? Or is Go also going obsolete now since it has been around for a year or two?

    Seriously, anyone can invent a language or framework these days. We all need to stop jumping on every bandwagon that comes along.

  82. Which IT Jobs Are Bound for Extinction? by CanadianMacFan · · Score: 1

    All of them, with a long enough timeframe.

  83. But what about "hybrid IT" jobs? by rbrander · · Score: 1

    Clicking on my /.ID will lead to a tiresome repetition of posts like the following going back years, and experience only keeps telling me I'm right: your great career is mixing IT with another profession.

    I just retired as a municipal engineer; I had the Eng degree but also CompSci and was the Waterworks IT guy for several years before they remembered by Eng degree and put me back into construction and maintenance work. I only oversaw the development of our Major Systems like the map-drafting and work-order-tracking that were millions each. But I *programmed* last Friday, and nearly every day of my career, and past (last Friday was near the end of a 6-month post-retirement please-come-back contract). No, it was not major, or even minor, applications. It was smart, VBA-enabled spreadsheets with custom SQL queries embedded that did things Business Objects just could not do. It was little Perl programs on the web server, cgi-bin stuff from the 90's, that provided a hundred people with a custom web-page for their project-of-the-month, and a data-entry form for their updates on it.

    I got all these jobs because IT wouldn't touch them. They were too risk-averse to write up a program in hours and deploy it the next day...even if they could have written it without weeks of explanations of our business, processes, and needs. We used to have IT people who worked next to us and needed no briefings, and could be talked into such mini-solutions, but IT hauled them all back downtown in 1995 and after that, you got a new, clueless, programmer every time you called them, and whose boss needed 3 preliminary meetings before authorizing a project with all possible tracking and staging, and checks and, oh, just endless "process". So filling that gap was key to how valuable an engineer I was.

    Every time career stuff comes up on /., I write this note again, urging people to not be a "programmer". Be an engineer/programmer or a doctor/programmer or an accountant/programmer. The poster above who noted that a metric shitload of modern programming is embedded in some ways, most of it written by the engineers of the car or appliance or other product of embedding, was one special class of this, but some kind of (other-profession)/programmer is, overall, the better career choice by far.

    And for that, the language of choice is whatever language works in that very specific situation. The notion that such stuff can be done by "low level AI" is comical. If my colleagues couldn't explain their mini-app needs to a human being in less than a week, how could they explain it to a pattern on a stone?

  84. Rack-n-Stack? by LesserWeevil · · Score: 1

    The only one of these if even partially agree with is that creation of internal IT infrastructures from scratch is a dying art. CI and HCI are making this activity, for most small-to-large companies one of diminishing business value. 10 years ago, you had no choice but to build from scratch - now you can buy ready-built rack-scale or appliance infrastructures and even get turnkey hybrid cloud footprints, not to mention these are vendor supported from the hardware up to the hypervisor.

  85. dunning-kruger much? by Anonymous Coward · · Score: 0

    I hate this fact that "java programmer" is considered by some people a different job than "C++ programmer". A good programmer should be able to learn a language in a month and become proficient in three months at most. Functional languages apart, all languages are more or less the same. It doesn't matter if your hammer has a red handle or a green one, as long as you know how to hammer.

    Bullshit, just complete and utter bullshit. I suppose if you send that competent programmer to classes for those three months--week in class, week to practice,
      week in class--etc... for those three months it could work.

    But I've seen those claims made in real life and the people making them are the personification of the dunning-kruger effect.

  86. 'job leadership consultancy' fulla crap film at 11 by Sarusa · · Score: 1

    Each of these guys has his own little corner of the world and is totally ignorant of what's going on elsewhere.

    Yes, in my industry we've replaced C++ (and good riddance) with C# on the PC side, but C is still going extremely strong on the lower end because when you've got a (by modern standards) little SoC with 48K of 'ROM' and 34K of RAM you can get a lot more out of C than you can Mono or Java. We even still occasionally bust out the asm, but for the most part modern C (with things like named structure initializers) is the sweet spot.

    And people have been predicting the replacement of coders by AI for 30 years - it's like fusion power. I imagine at some point the mere code pigs (coders who just search stackexchange and copypasta code) might be replaced, but good luck replacing hands on problem solvers for a while.

    But then, who am I to argue with a 'job leadership consultancy' *snicker*.

  87. I agree, especially those two by SuperKendall · · Score: 1

    Knowing a language does not only mean that you are able to write a syntactically correct program which compiles and does what it is supposed to do. It means that you have intimate knowledge of all the libraries and toolsets

    I came to post just this. Yes you can technically learn a language in a month. But to learn the extent and nuances of the entire set of frameworks around a language takes longer, for ANY language - all languages now are really a lot more about framework support than core language features.

    C++ in particular though is so expansive, I would question if someone who had just spent a month learning it (even if they were an expert programmer fluent in other languages) would really be able to produce good code.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:I agree, especially those two by david_thornley · · Score: 1

      There's also differences between what languages do. Programming in Pascal requires a much different mindset than programming in Prolog. It takes time to learn how to write good OO programs, the same for functional programs. Different languages have different gotchas (C++ in particular has a lot of them).

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  88. Remember "Computer Operator"? by Tony+Isaac · · Score: 1

    My first real computer-related job was "computer operator." I ran decks of punch cards through readers, ran jobs on the mainframe, loaded tapes and hard drives, and so on. Specific computer-related jobs will continue to come and go, but the need for technical people in the software and hardware industry isn't going anywhere.

  89. Re:COBOL by mishehu · · Score: 2

    Remember - there's always rule 34...

  90. What does the author think... by brantondaveperson · · Score: 1

    ...those other languages are written in?

    And their operating system, and all the games they love to play? And the code in the ECMs in their car? And anything else that requires deterministic performance? What do you think Chrome is written in? And the V8 javascript engine inside it? Video codes? Media players?

    Java is a pig, .NET is nice, but nowhere near fast enough if you really need true performance. Computers aren't really getting any faster anymore, so the only answer to increased performance and workload is learning real computer science principals, and using a language that actually gives you some control over what your computer is doing.

  91. Re:Incompetent idiots or paid shills should goexti by brantondaveperson · · Score: 2

    the best performance (C) or with a reasonable compromise between abstraction and performance (C++).

    No. C++ is used where you need performance and expressiveness and compile-time safety. C is used where you either don't have a decent compiler for your system, or you can't handle the compile times, or you're no good at writing C++.

    Not so, computers still are stupid, stubborn machines that need to be forced to behave. And for this, low level languages still reign supreme.

    Very well put.

  92. And there's this little tidbit: by Anonymous Coward · · Score: 0

    Most programmers by far are not "great" or even "good".

    I'm reminded of the story of a guy went for CS in a college with about 100 people in class. Couple years later went back to help teach. Class was about 1000, so that's a tenfold increase in students. However, the absolute number of people with real talent had stayed about the same.

    This spells doom for the slew of "learn to code" initiatives. But it's in fact a good thing should they manage to automate the lower level grinding jobs away: It increases the percentage of actually good people in the pool. So anything that still ends up getting hand-crafted is more likely to end up decent to good. The automatically-written code is probably horribly bad, but we already have that from the "outsourcing easy jobs, like programming" thing that rarely if ever proves TCO-effective.

    On the other hand, one might question why the really good people haven't gotten around to automating this task of automating itself. What changed that "machine learning" suddenly would help, here?

  93. From a non-developer standpoint though? by King_TJ · · Score: 1

    I think this article did sum things up pretty well, at least in a "big picture" sense. The key is realizing that if you did "network admin" or "sysadmin" work in the past, the trend is looking for people who are well versed in both cloud-based and on-site options for data storage and manipulation You need to be able to deploy the most efficient mix of them for the environment you're working in, and you can't be afraid to use different platforms.

    I run into a lot of people who have Windows certifications and experience, who are probably very good at managing a Windows server environment. They may even stay on top of Microsoft-centric cloud solutions like Azure and Federated Active Directory services. But if they're afraid to deploy a mix of Linux servers or server appliances, they may be costing the company needless extra money in licensing and reducing reliability. EG. Where I work now, we chose ESET as our anti-virus solution. But I went with the Linux appliance version of the remote administration console for ESET, even though they have a Windows version that seems to be better documented and supported. It wasn't the easiest way to get the thing deployed. It had some major bugs that took researching and patching until the company finally released newer versions of it that ran better. But by going with a Linux VM, I don't have to worry about paying for an $800 or so Windows Server 2012R2 license just to run the thing legally, and the Linux VM has less CPU overhead too. I'm sure many people just deploy it on an existing server so they don't have to pay for more server licensing .... but that brings with it potential security risks, since you want to expose the remote administration server to the Internet. Otherwise, it wouldn't be able to stay in communications with your anti-virus clients being used outside your local office network. Seems wiser to isolate one of these on its own server instance. I found a similar thing with using CrashPlan Pro-e for our workstation backups. There was some economic incentive to running the servers on Linux in our various offices.

    You've also got all of these decisions with "hybrid" solutions out there now. The product may be based on something you run in-house, but it offers cloud-based extended capabilities that you may or may not wish to activate by subscription. A good sysadmin or network admin, today, has to be good at calculating the pros and cons and putting together the contracts / subscriptions for only the cloud-based portions that are smartest to leverage.

  94. rolls eyes by whitelabrat · · Score: 1

    Blatant flamebait.

  95. Who? by Anonymous Coward · · Score: 0

    ""Thanks to the massive migration to the cloud, listings for jobs that involve maintaining IT infrastructure, like network engineer or system administrator, are trending downward"

    So who admins the cloud servers and networks?

  96. Javascript by Tenebrousedge · · Score: 1

    We don't talk about JS in polite company, other then to note that there's no such thing as good JS.

    If you're talking more about the ecosystem than the language, I would find it hard to argue. The language itself isn't that bad though. That is to say, if you pretend that classes don't exist (because they fundamentally do not), never use the new keyword, and learn its quirky scope rules it's not bad. It's kinda fun to be able to just glom together objects and methods into whatever shape you like.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  97. Pigeon holed by Anonymous Coward · · Score: 0

    Yes, this means that fields and skills sometimes go out of favor...but at least you're not stranded when they do.

    I disagree.

      I used to program C++ middleware back in the 90s. Then Java came; which meant all the new projects went to that.

    Took a Java class and even did a little programming BUT employers wanted 5 years of experience. I tried moving to C# .NET - same thing.

    I tried getting other C++ jobs but they wanted industry experience on top of that. And I wasn't the only one who experienced that.

    Changing is not easy. Once you are pigeon holed, you're screwed.

    Employers want experts - they don't want folks moving over. They don't want folks sitting around trying to figure out how to implement something - they want the guy who knows right off the top of his how to implement something in a particular language. Hence, we have those laundry list job requirements.

    You must keep up with the new stuff on the job because classes or FOSS projects or whatever do not count - I know because I tried those.

    It seems the only way to have longevity as a techy is be in some tech backwater (like 50 miles outside of De Moines or something) where all the young people leave to be where the action and money is.

  98. Code Monkey Like Fritos by Tenebrousedge · · Score: 1

    I see C being replaced with Go or Rust over the next few decades. I'm not sure what you might mean by 'custom security filter component' but it doesn't immediately sound like an appropriate domain for C.

    (which makes all these "learn to code" initiatives so braindead)

    The learn-to-code initiatives are trying to bring more people into the pipeline, since the industry isn't good about training people. Yes, it takes years to become competent as a programmer, but the point of these bootcamps is not to teach people how to be competent programmers but to teach people how to learn how to program.

    The way the industry is structured currently is just plain bizarre. We have university CS programs where you will learn algorithmic analysis but the daily practice of programming is only included by accident, and we have coding bootcamps which will churn out semi-literate web monkeys who have never heard of Turing or Knuth. Neither is a particularly good path to becoming a good programmer, but what else is there?

    And as an aside, I think you disrespect junior/novice programmers unduly. There's nothing wrong with being green, or even just being a hobbyist programmer. Where else are our greybeards going to come from? And don't we want other people to become involved in this activity that we enjoy? (We do enjoy programming, right? That's why we do this, right? I'm sure I'm debugging this misbegotten legacy junk because I enjoy it...) Anyway, I think it's worthwhile just for more people to learn to think programmatically.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    1. Re:Code Monkey Like Fritos by gweihir · · Score: 1

      And as an aside, I think you disrespect junior/novice programmers unduly. There's nothing wrong with being green, or even just being a hobbyist programmer. Where else are our greybeards going to come from? And don't we want other people to become involved in this activity that we enjoy? (We do enjoy programming, right? That's why we do this, right? I'm sure I'm debugging this misbegotten legacy junk because I enjoy it...) Anyway, I think it's worthwhile just for more people to learn to think programmatically.

      I don't. When I say "technician-level coders", I do not mean novices. I mean people that sometimes have decades of experience. It may have contributed that a few hours before I wrote this I had to (again) explain to some web-application "developers" at a customer how their application works and how a HTTP request works. And then I had to do it again for a second team. And then I had to explain how a HTTP/302 works. All to supposed domain experts with around (my estimation) 10 years of relevant experience. These people have no clue how the technology they use works and it causes real problems, sometimes pretty bad ones.

      Of course, most "learn to code" victims will just become technician-level coders and they basically have their time wasted. Better to become a carpenter, plumber or the like, then at least you have some real skills.

      Incidentally, Go or Rust will never replace C, unless we get so much computing power that speed does not matter. As we seem to have hit a plateau a few years back in per-core speeds, that seems quite unlike to happen. When you need performance and control, nothing else will serve except assembler, and that is one order of magnitude more difficult.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    2. Re:Code Monkey Like Fritos by Tenebrousedge · · Score: 1

      For most computing tasks the performance differences are pretty trivial, at least if the programming language benchmarks are any judge, and the performance of C comes with the cost of security issues. Yes, I'm sure that you write bulletproof code all day every day, but other people seem to have a problem with it. And I'm not sure you're aware, but most applications these days are written for the web or mobile environments, or both, and C is nowhere to be found in those markets. Many things are written in other languages today where once C was dominant or the only option.

      I think there's a multi-decadal trend away from C, but let's agree to disagree for the moment, and we'll see where things are at in another couple decades.

      Of course, most "learn to code" victims will just become technician-level coders and they basically have their time wasted. Better to become a carpenter, plumber or the like, then at least you have some real skills.

      Do you not know that you're being something of a jerk when saying this, or not care?

      --
      Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    3. Re:Code Monkey Like Fritos by gweihir · · Score: 1

      For "most" computing tasks, it may appear so but rarely is so (performance also includes memory footprint and network footprint). But this is an invalid measure. The question changes completely when you start assessing by importance. And there, you suddenly find a significant number of really important things that cannot be done in things other than C.

      Of course, most "learn to code" victims will just become technician-level coders and they basically have their time wasted. Better to become a carpenter, plumber or the like, then at least you have some real skills.

      Do you not know that you're being something of a jerk when saying this, or not care?

      If you think an invalid "argument" AdHominem makes a case for your POV, go right ahead. I do care very much because I think it is wrong to give people false hopes. What I do see is that most people are unable to learn to code well, regardless of education effort and experience. These will never get decent or secure jobs with a primary qualification of "coder". They may well get really bad jobs for a few years and then none at all. I think it is deeply wrong to do this to them.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    4. Re:Code Monkey Like Fritos by Tenebrousedge · · Score: 1

      What I do see is that most people are unable to learn to code well, regardless of education effort and experience. These will never get decent or secure jobs with a primary qualification of "coder".

      I recall a conversation last year with a project manager at a major US bank.
      "So you're managing this software team, yeah? What languages are they using?"
      "Oh, I have no idea!" *laughs off the question*

      Java, but you probably guessed that. But really it's okay to have people of all skill levels working in the industry, and at its worst this is not a bad industry to be in.

      I've spent a lot of time lately around people going to coding schools, and mentoring a few of them. I wouldn't disagree that the majority of them were destined for no great success. I feel like even after months of code reviews and evaluation, I haven't yet been able to detect whether any of them had any real aptitude for programming in the greater sense of that term, as opposed to merely being able to churn out web apps of various descriptions. Unfortunately "just" being able to churn out a web app is a very marketable skill -- I don't know what your basis for disagreement on that subject might be. But generally I think that it takes a long time and knowing several languages well before you really get a handle on whether you're going to get a handle on algorithms and data structures.

      Personally, I feel like I am perhaps halfway to being a programmer. I'm a web developer, and you may read into that what you will, but doing various programming challenges around the web is teaching me a need for both higher- and lower-level languages. I feel like I need to reread GoF and make another attempt at Knuth. Perhaps we should make a list of qualifications to be a "real" programmer?

      * One or more functional programming languages
      * One or more systems programming languages
      * At least two scripting languages, one of them being Bash
      * Javascript
      * Two or more RDBMSs
      * At least one NoSQL datastore
      * Comprehensive knowledge of algorithms
      * Comprehensive knowledge of design patterns
      * Concurrent/multithreaded programming
      * Networking
      * Low-level programming and Assembly programming
      * Circuit design
      * HPC, realtime, video game, or other high-performance programming
      * Operating System design
      * Compiler, parser, lexer, and interpreter design

      And to this we may add a host of other important details like source control, unit testing, build tools, IDEs, vim, documentation, and some knowledge of computing history, a bit of information theory, security in both attack and defense and probably some statistics. Feel free to add to the list; I'm sure I've forgotten some essentials. But that to me seems like a ten-year course of study at best, and I am beginning to suspect that it represents a greater scope of knowledge than most people ever achieve -- or typically wish to, probably. I'm certainly not champing at the bit to write some device drivers, that's for sure.

      Especially given the ever-changing nature of the programming world, I really feel like it's more appropriate to view programming as a journey (or even as an endurance test). Most people are going to quit at some point, some may never get anywhere, and they may or may not make any money as they go along. I don't necessarily disagree with your pessimism about the intellectual prospects of the average code monkey, but I feel like it's a very long road to even begin to tell if someone is going to be a decent programmer, and I respect that people get different starts and progress at different rates and in different ways.

      (as an aside, watching different people learn coding has been really interesting so far, and I've been continually surprised at the rate at which people pick things up)

      All that said, I think that your pessimism might not extend quite far enough. I've mostly kept my nose out of the corporate world, so I tend to assume you will have a better grasp on this matter, but in the course o

      --
      Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  99. AI still a long way from coding - 2020 is a joke. by timmee · · Score: 1

    >"I don't think the world's going to need as many coders after 2020. Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI."

    This must come from someone who has never worked on a serious, complex business problem that utilized a software solution. Automation of coding has been talked about for many years, and we are not even close. Anyone who has been involved in translating marketing/regulatory/operations/etc. requirements into software knows how easy it is for things to get lost in translation. When AI is capable of intimately knowing the background of the business specs and infer the details that the spec writer sloppily omitted, then maybe. But at that point, the AI will be far smarter than we are and we won't be thinking about lost coder jobs.

  100. Not a single post refein to Delphi ? by Anonymous Coward · · Score: 0

    I cannot believe this.
    The real gurus among us know that the quatrillion of inefficient C# and Java code lines committed in the last years will be migrated to Delphi starting when burning money on inefficient IT projects get controlled again.
    Delphi: Since years dead and still worrking ... I count Delphi also as one of the "working dead" then.

  101. P in LAMP by Anonymous Coward · · Score: 0

    You realize the P in LAMP includes Python right? Your post makes conflicting statements.

  102. Rumors of Perl's death have been exaggerated? by Tenebrousedge · · Score: 2

    For the record, I don't like you. However, I am pretty sure that Perl is dying and that its niche as a scripting language has mostly evaporated or been filled with other things. Also, that particular AC is a fuckwit, and you responded well.

    Whether or not technologies are still in wide use isn't necessarily the best measure of health for the technology. WordPress is widely used, but technologically it's horrifically obsolete. It's written in a declarative style, and can't be converted to an object-oriented codebase without destroying the software ecosystem that makes it useful. For its part, Perl still exists, but the kind of system automation that it has historically been most useful for has taken a bit of a back seat to other technologies which deal with operating systems as containers. It's an indelible part of the Unix toolchain, but other things tend to work just as well and have nicer syntax.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  103. Even if it were true... by Anonymous Coward · · Score: 0

    ...those languages have so much similarity that cross-training from one to another is relatively easy. It's not like going from Tcl to C#, COBOL to python or Lisp to Ruby.

  104. Environment would be toast by Exrasser · · Score: 1

    Without C/C++ I think the environment would be toast very quickly, we would have to build power plants like crazy to support the increase in power consumption. https://www.youtube.com/watch?... CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures" https://www.youtube.com/watch?... CppCon 2015: Timur Doumler “C++ in the Audio Industry” https://www.youtube.com/watch?... Mark Maimone "C++ on Mars: Incorporating C++ into Mars Rover Flight Software" https://www.youtube.com/watch?... CppCon 2014: Mike Acton "Data-Oriented Design and C++"

  105. Confuses scale of industry with absolute need. by shess · · Score: 1

    Most of their examples are just consequences of industry growth. As the industry grows, there are new areas which have performance or low-level needs requiring something like C++ expertise, but far more new jobs which simply don't need to be particularly efficient or scalable to solve problems. For those jobs the productivity gains of a scripting language are helpful.

    But the absolute number of C++ programmers will only drop insofar as we increase productivity to replace it. Someone has to write those scripting languages, someone has to write those cloud operating systems, etc.

    Basically, we probably won't really need more C++ programmers over time, but we almost certainly will need stronger C++ programmers to tackle harder problems, so that everyone else can use that point of leverage.

  106. Ivory Tower by Anonymous Coward · · Score: 0

    You know a statement is true when the dean of a college believes it. What with all their real world experience sitting behind an ivory tower...

  107. COBOL Programmers? by Stubbyfingers · · Score: 1

    Really?

    The problem we have in this area is that all the COBOL Programmers are retiring and then coming back as contractors for twice the price.

    I see ads trying to recruit COBOL programmers but they all say "Junior Programmer" or "Entry Level Programmers" insisting that more than 3 years of experience is "Overqualified"

    Damned fools don't seem to realize that COBOL hasn't been taught since 1990. They're not going to find a 25YO COBOLer.

    And all of those millions of KLOCs are just sitting there, waiting for someone to care for them.
     

    1. Re:COBOL Programmers? by ebvwfbw · · Score: 1

      Someone with 3 years or less of Cobol experience is someone that knows just enough to screw the code up good. They'd be better transliterating it into Perl. It'll probably run just fine for the next 50 years or so.

  108. All of them, dumbass by michael_wojcik · · Score: 1

    Which IT jobs will last forever?

    None. Things change. Hell, most of 'em will be gone by the time the sun finishes boiling off the oceans.

    (And, yes, the article is a pile of rubbish, but since the premise is idiotic, that hardly matters.)

  109. moving goal posts by molecular · · Score: 1

    I heard this part before... in the early nineties (just with earlier timepoint):

    > Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI.

    so who writes "some business specs"?

    You might end up with flawless software. The flaws will be in the spec. Or the spec will be insufficient.

    Creating software is mostly creating a good spec anyway (and establishing what the customer actually wants).

  110. C obsolote / Linux takeover by Frederic54 · · Score: 1

    does this guy know that 100% of the linux kernel is written in C? Trying to make work a zillions of devices on an Android platform (USB stuff, camera, etc) and you have to put your hand in pure C. Last time I checked more and more items are running Android, with an old kernel you have to patch.

    --
    "Science will win because it works." - Stephen Hawking
  111. Functional Programming by Tenebrousedge · · Score: 1

    I may not have expressed my point well. I agree that to those familiar with functional programming concepts, map and reduce are at least as legible as explicit loops. However, I do think that due to their nature as higher-level abstractions that fluency in these concepts requires a greater effort. Of course, it could be simply the case that most people are introduced to programming in imperative programming languages. To what degree does the relative unpopularity of functional programming languages represent a less natural model of human cognition? Or is that also a product of e.g. teaching kids arithmetic instead of arithmetic series?

    Do you know, I feel like that last example is a pretty valid comparison. In order to understand arithmetic you need nothing more than bottlecaps or a number line. Arithmetic series take an understanding of functions, variables, and infinity, as well as the fundamentals of arithmetic. Similarly, while you can write a for loop in every language (even Malbolge, theoretically), I want to see the person who can write map/reduce in Brainfuck without transpiling. I think in practice we can say that some sort of named or anonymous function is required in addition to looping and arithmetical operators, and further that if the language in question doesn't support functions as first-class objects then you're going to have a harder time of things. And while one doesn't technically have to have a solid understanding of higher-order functions, it certainly helps.

    On the other other hand, the notion of functional programming being just as easily taught as imperative programming is an attractive one, and I'd love to see the subject more widely taught. I'm of two minds. What do you think?

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    1. Re:Functional Programming by Anonymous+Brave+Guy · · Score: 1

      I agree that to those familiar with functional programming concepts, map and reduce are at least as legible as explicit loops. However, I do think that due to their nature as higher-level abstractions that fluency in these concepts requires a greater effort.

      That seems logical. In other disciplines we have to learn some new concepts and terminology before we can communicate effectively with other practitioners or use more advanced tools built on those concepts.It seems reasonable to assume the same is true for programming in a more functional style.

      Of course, it could be simply the case that most people are introduced to programming in imperative programming languages.

      I suspect this is true as well. I haven't seen very much formal research on this, so most of what I have to go on is just personal experience and anecdote. That said, when I have taught someone to program from scratch, I have generally tried to avoid tunnel vision about any particular language or style, preferring to focus on the underlying concepts as much as possible. From that experience, it seems that which tools a student finds intuitive at first often has little to do with any particular programming style, or indeed with what experienced programmers from any given background might assume was difficult.

      For example, I've seen someone who had been learning for a relatively short time find a ternary if expression completely natural to the point where they would happily replace imperative if-else constructions with it wherever they could. However, the same person at the same time preferred loops with an explicit variable and steps that they could see over using named algorithms like map or filter where some of the control flow was implicit. They also had more difficulty understanding loop structures where the control variable iterates through indices or keys and the corresponding values then have to be looked up indirectly, and found loops much easier to understand if the control variable iterates through the values directly.

      One possibility there is that the ease or difficulty of understanding related to how much indirection or composition was involved. Loops over indices/keys and mapping with a transformation function both require a sort of mental jump to get down to the real data you're working with. A loop over values or a ternary if does not.

      Another possibility is that the student was still thinking on the level of individual operations on each data point rather than operations on a collection as a whole. The ternary if or value-based loop let them focus on a single value at once, and they could put a logging statement straight after the conditional or in each iteration of the loop and follow the values being transformed as their program ran. (It's probably worth mentioning that at this stage, we hadn't yet looked at much in the way of non-trivial data structures and algorithms. I'm talking about a time full of first impressions here.)

      It would be fascinating to see what real psychologists could come up with if they studied this sort of early learning behaviour in programming students starting from a true clean slate, but there probably aren't that many opportunities to make careful observations in that sort of environment. I've only been able to gather the experience I described above because I happen to have a few friends and family who have decided for one reason or another that they wanted to learn some real programming skills and they weren't doing so either through academic study or as part of a current job.

      This sort of brings us to your final question, and for me the answer is a qualified yes. I do think programming education, particularly in a professional environment, would do well to teach a broader range of concepts than traditionally it has (outside of a few university CS/SE courses that do touch on other styles like functional and logic programming). But there is a chicken-and-egg problem here too, because although some of the c

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  112. The Return of the King by iq145 · · Score: 1

    Camera film developers will make a comeback, right? RIGHT? (uh... no? shucks)