Slashdot Mirror


Is Ruby's Decline In Popularity Permanent? (computerworld.com.au)

An anonymous reader quotes Computerworld: Ruby has had a reputation as a user-friendly language for building web applications. But its slippage in this month's RedMonk Programming Language Rankings has raised questions about where exactly the language stands among developers these days. The twice-yearly RedMonk index ranked Ruby at eighth, the lowest position ever for the language. "Swift and now Kotlin are the obvious choices for native mobile development. Go, Rust, and others are clearer modern choices for infrastructure," said RedMonk analyst Stephen O'Grady. "The web, meanwhile, where Ruby really made its mark with Rails, is now an aggressively competitive and crowded field." Although O'Grady noted that Ruby remains "tremendously popular," participants on sites such as Hacker News and Quora have increasingly questioned whether Ruby is dying. In the Redmonk rankings, Ruby peaked at fourth place in 2013, reinforcing the perception it is in decline, if a slow one.

253 comments

  1. Is Ruby's Decline In Popularity Permanent? by Anonymous Coward · · Score: 0

    No.

    1. Re:Is Ruby's decline in popularity permanent? by Anonymous Coward · · Score: 0

      She works at the diner down on Main Street. On weekends she works part-time at the nail salon.

    2. Re:Is Ruby's Decline In Popularity Permanent? by Aighearach · · Score: 4, Interesting

      Yes.

      The web fad moved on. They're never coming back. And good riddance.

      Ruby will continue to grow in popularity for other types of uses.

    3. Re:Is Ruby's Decline In Popularity Permanent? by Hylandr · · Score: 2

      Rails may be taking a back seat, but Chef is very much in use, and will be for some time to come.

      --
      ~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
    4. Re: Is Ruby's Decline In Popularity Permanent? by Anonymous Coward · · Score: 0

      Actually it is going away, permanently, not missed on my end. Sorry, Ruby, but you were a cunt. I despised your syntax and semantics and only put up with you because I had to. Every line of Ruby I wrote, was not because I felt this was the most elegant and efficient scripting language to use, but just because some idiot decided to use you in their product. (Chef, you suck balls in this regard). Now go crawl into a corner and die, bitch, along with Rails that weirdass web framework I never used either, mainly because I don't work on stuff like that.

    5. Re: Is Ruby's Decline In Popularity Permanent? by Anonymous Coward · · Score: 0

      And that's what it Congress down to: there isn't one "ruby", there are just 86,000 completely unrelated domain-specific languages which are interpreted by small ruby programs. Ruby is less readable then Perl. At least with Perl, you have the possibility of learning the syntax. Ruby just gives you a bunch of words which might be functions and might be arguments to other functions and might be defined in a class and might be defined in a mixin and there is no way to know wtf anything is doing.

      To be fair, I love ruby, the language. I despise the ruby community for their "make everything into a DSL, so that ruby itself is a useless skill" way of doing things. Though, to be fair, unconstrained duck-typing can also fuck right the fuck off

    6. Re: Is Ruby's Decline In Popularity Permanent? by Anonymous Coward · · Score: 0

      Redmonk ranking is SHIT I tell you! C and C++ lower than PHP?

      Fuck off.

      Ruby tie with CSS?

      My autocorrect might me on to something with it changed Redmonk to Redmond!

    7. Re: Is Ruby's Decline In Popularity Permanent? by Anonymous Coward · · Score: 0

      Ya man fuck Ruby hippies. They are realising they can't actually find real jobs because all they can do is write apps for pet stores.

    8. Re:Is Ruby's Decline In Popularity Permanent? by colourmeamused · · Score: 2
      It definitely won't disappear but we are probably past peak Ruby. It has simply been out-niched, I can't easily think of a 'Ruby is best for this' use case today. Python hitching a ride on the data science gravy train might be the first nail - remember the days when your scientist or mathematician or engineer buddy would ask whether they should learn Ruby or Python, and you actually had to think.

      When the rise and fall of the Ruby empire is written, Chef will probably have a part in both stages. Ruby is more a victim there, but some of my most frustrating encounters with Ruby have involved Chef. Sticking to Ruby earned Chef favour from developers but Puppet's custom DSL choice was the right one. Using Ruby forces hard dependencies where everything ends up being dependent on 'windows' and 'yum' and 'apt'.

      A major problem with the first era of config management / DevOps was too much code that does too little. Instead of telling Chef via an abstraction to enable the apache service, you have to write:

      service 'apache2' do
      service_name apache_service_name
      case node['platform_family']
      when 'rhel'
      if node['platform_version'].to_f < 7.0 && node['apache']['version'] != '2.4'
      restart_command "/sbin/service #{apache_service_name} restart && sleep 1"
      reload_command "/sbin/service #{apache_service_name} graceful && sleep 1"
      end
      when 'debian'
      provider Chef::Provider::Service::Debian
      when 'arch'
      service_name apache_service_name
      end
      supports [:start, :restart, :reload, :status]
      action [:enable, :start]
      only_if "#{node['apache']['binary']} -t", environment: { 'APACHE_LOG_DIR' => node['apache']['log_dir'] }, timeout: 10
      end

      And this is one of the better written actively maintained cookbooks.

      Then there is the annoyingly common convention where every time there is a new release of the underlying package, you have to update a hash in the Chef code and release a new version of the Chef cookbook, which of course is delayed - looking at you Elasticsearch.

      It runs 'yum install elasticsearch' which installs a signed package from the repository. But the first law of config management is 'support everything and let the lowest common denominator dictate design'. So supporting whichever crappy OS / release that does not have native packages always takes priority over writing something that just works and will continue to just work.

      e.g. The Chef yum provider can't handle obsolete package versions. If you tell Chef to install somepackage-x.y.1, and that version has been obsoleted by somepackage-x.y.2, somepackage-x.y.2 gets installed while Chef thinks it installed somepackage-x.y.1. The next time you run Chef with exactly the same config, it will fail because of the implicit downgrade.

      Which brings us to the Third law of config management: Idempotence in config management is like world peace for the U.N. - promising an idealized unachievable goal confers nobility and thus failing at it all the time is ok.

      Ruby isn't the culprit here but it is the enabler. Manual dependency management means no one configures versioned cookbook dependencies. So your infrastructure is code defined, but what that code is is a spur of the moment thing as Chef fetches the freshest stuff off supermarket.chef.io. Bringing us to the second law 'it mostly works' is good enough.

      In the world of clustered distributed multi-node services, the much praised Kitchen test framework can't test multi node deployments. Have a two-node Elasticsearch cluster - forget writing tests, and add a bunch of timeout hacks to handle asynchronous builds. Let's have a long existential discussion over whether multi-node testing is really needed and continue to write tests for whether "package 'ap

    9. Re:Is Ruby's Decline In Popularity Permanent? by Hylandr · · Score: 1

      Having supported chef in a large enterprise production environment, I have to wholeheartedly agree with all the points you made.

      Looks like I will be focusing less on Ruby / Chef and more on AWS / Python.

      --
      ~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
  2. Is Ruby's decline in popularity permanent? by Anonymous Coward · · Score: 4, Funny

    What is Ruby?

  3. Fad languages don't live long by KiloByte · · Score: 4, Insightful

    Meanwhile, we grown-ups use Perl and C and laugh at the demise of this week's hipster language.

    Now get off my lawn.

    --
    The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    1. Re:Fad languages don't live long by Anonymous Coward · · Score: 2, Informative

      Perl and Ruby are dead. C, Java, C#, Python, and Javascript are humming along nicely. Not sure what your point was supposed to be.

    2. Re:Fad languages don't live long by Frequency+Domain · · Score: 2, Informative

      Ruby is 20+ years old. I wouldn't call that a fad language. Heck, I'm old enough to remember when people said the same thing about C and Perl relative to FORTRAN, PL/I, and COBOL.

    3. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      that's what,she SED.....
      AWKward pause....

    4. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      Perl is Python for the old and illiterate.

    5. Re: Fad languages don't live long by Anonymous Coward · · Score: 1

      And PHP. With the release of the PHP 7, it's now faster in some cases than python.

    6. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      It's a language used by old, white pole smokers.

    7. Re:Fad languages don't live long by Gravis+Zero · · Score: 1

      When I was your age we used UNIX Shell and FORTRAN and that's the way we liked it!

      Get off my planet!

      --
      Anons need not reply. Questions end with a question mark.
    8. Re:Fad languages don't live long by Pseudonym · · Score: 3, Funny

      Perl is like Python, only less stupid and more compatible with itself.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    9. Re: Fad languages don't live long by willy_me · · Score: 4, Insightful

      And PHP. With the release of the PHP 7, it's now faster in some cases than python.

      Like a race between a snail and a tortoise...

      If one is going to tout the virtues of these languages - do not use speed. Their strengths are elsewhere.

    10. Re:Fad languages don't live long by Brett+Buck · · Score: 0

      Perl and C are also fad languages. C++ even more so.

    11. Re:Fad languages don't live long by PPH · · Score: 1

      Pathologically Eclectic Rubbish Lister

      --
      Have gnu, will travel.
    12. Re:Fad languages don't live long by Aighearach · · Score: 1

      In 1999 I was listening to a Larry Wall interview and he said that if you want to do all your programming with OOP then Ruby is a better language than Perl. And then he launched into a defense of procedural programming.

      I totally agree. Though mostly I use C. But when I want OOP or scripting, I turn to Ruby.

      I predict mRuby will become popular when common microcontrollers get just a tiny bit bigger.

    13. Re:Fad languages don't live long by DCFusor · · Score: 2

      Not many grownups here, I see... Seems to me those fad languages are perl with all the good stuff left out. Funny how easy it is to do things in perl, even with newer machines, NGINX, and whatever opsys and hardware. Sure is tough to remember which parts of perl were left out of python, ruby, php and so on, and which perverted weak->strong typing conversions they do differently. One weird language is enough! I'll take the one that takes the least typing and which gives you more choice to either write super clean code, or enough rope to shoot yourself in the foot, depending on mood. And with control over when garbage collection can run, so even some realtime stuff works well.

      --
      Why guess when you can know? Measure!
    14. Re:Fad languages don't live long by Pseudonym · · Score: 1

      Just because a language has existed for a long time doesn't mean that it's ever been the right tool for a critical mass of tasks.

      Hell, Object Pascal is still being used for new projects.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    15. Re:Fad languages don't live long by Pseudonym · · Score: 2

      Web languages don't live long

      FTFY

      Every single new trendy language seems to want to be a web framework first and a programming language second, and seem to be designed by people who know how shitty existing web frameworks are but don't know what a well-designed programming language looks like.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    16. Re:Fad languages don't live long by Anonymous Coward · · Score: 1

      Ruby always seemed to be one of those niche languages that was used for goodness knows what, as the mainstream languages could seemingly do the same work and were part of the default install. Perl, C, Python - all install with pretty much any distro of Linux. Ruby? To me seemed always some esoteric part of a web-kit framework or some such thing, not a self-standing language you might use daily. Maybe if 20 years ago they had spun it a little differently it may have grown more popular.

    17. Re: Fad languages don't live long by lucm · · Score: 1

      And PHP. With the release of the PHP 7, it's now faster in some cases than python.

      Like a race between a snail and a tortoise...

      If one is going to tout the virtues of these languages - do not use speed. Their strengths are elsewhere.

      That was a valid point 5 years ago. Things have changed, at least when it comes to PHP.

      PHP 7 running on fpm or HHVM is very fast, almost as fast as nodejs. This is not your grandfather's internet.

      --
      lucm, indeed.
    18. Re: Fad languages don't live long by Jack9 · · Score: 2

      PHP5+ has been faster than any given version of Python.
      Ruby is the worst performer, consistently.
      I still find people who haven't benchmarked file processing or heavy business logic.
      It doesn't take much time to reveal performance gaps.

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    19. Re: Fad languages don't live long by 0100010001010011 · · Score: 1

      I still find people who haven't benchmarked file processing or heavy business logic.
      It doesn't take much time to reveal performance gaps.

      And sometimes it's cheaper to throw hardware at it. Our engineering workstations are a $75/mo lease.

      You *could* just rewrite the business logic in assembly with SSE optimizations and all if you really wanted speed.

    20. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      almost as fast as nodejs

      You're still not making a compelling argument about speed.

      This is not your grandfather's internet.

      ...but many pages load as slow as grandfather's driving due to all the JS imports you have to download.

    21. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      Perl = gag barf ick

    22. Re:Fad languages don't live long by lucm · · Score: 1

      I still remember my first mod_perl webapp, which was randomly picking different username/session whenever I would refresh the page - all because I wasn't using namespaces. You can do lots of stupid things in PHP when you don't know what you're doing, but at least you're not going to get variables from another thread or process even if you're using global variables.

      --
      lucm, indeed.
    23. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      C is almost 50 years old. In 20 years, Perl will be so forgotten, it will be considered as a bad spelling of pearl.

    24. Re: Fad languages don't live long by lucm · · Score: 1

      This is not your grandfather's internet.

      ...but many pages load as slow as grandfather's driving due to all the JS imports you have to download.

      Wait... so we're mixing client-side and server-side now? Are you going to suggest Java Applets or something?

      Also this whole JS download is a misconception. Unless you're the kind of idiot who runs his browser in super-secure-no-cache-no-cookies-no-tracking-etc those libraries are a one-time download, and if the developers did their job right and used a shared CDN then you probably already have the copy of jquery and bootstrap they're asking for.

      --
      lucm, indeed.
    25. Re: Fad languages don't live long by gravewax · · Score: 1

      so now instead of just a snail and a tortoise you have added a slug to the comparison to claim it is fast.

    26. Re: Fad languages don't live long by s1d3track3D · · Score: 3, Insightful

      Ruby is the worst performer, consistently.

      Yet, in web apps, language execution speed is almost never the bottleneck, it's almost always database related, network, dns, etc.

    27. Re: Fad languages don't live long by tigersha · · Score: 1

      More like a race between a snail and a brain damaged tortoise

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    28. Re: Fad languages don't live long by tigersha · · Score: 2

      And programmer time. That is where Ruby shines. Many webapps will execute 1 hour of CPU time in their lives.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    29. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      that's what,she SED.....
      AWKward pause....

      Oh ADA, what A BASIC statement, a PARADOX, as simple as ABC, GO FORTH and PILOT your BLISS, with your SMALLTALK PROLOG, in the granD SCHEME of things, I'd like to BASH you in the MATLAB on the SMALL ASSEMBLY line with REXX and DYLAN you ICON, by the way I heaRd you arE TCLish... K?

    30. Re: Fad languages don't live long by tigersha · · Score: 1

      When I was his age I often had to use. CALL -151 and I know what the A9 opcode means on a 6502

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    31. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      So Ruby is there to write useless (read: unprofitable) webapps? Got that.

    32. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      The Special Tortoise Olympics called and wants you to apologize to all the special-needs tortoise and snail that worked so hard to go a meter.

      --sf

    33. Re:Fad languages don't live long by LostMyBeaver · · Score: 5, Interesting

      Library clutter and corporate dependence generally decides the fate of a programming language.

      C exists for the "I'll write everything myself crowd" and after nearly 50 years, C is still very popular because it's a very primitive language that allows programmers to be primatives. Consider the Linux kernel and Gnome which are probably the two biggest C projects ever. They don't have common collection types and while glib implements some mediocre standards collection types, very often in C, you spend 3/4 of your time just writing endless code to add items to lists or not. In the Linux kernel, the collection types are truly terrible... but really fast. C is a purest language in the sense of "I'd write it all in assembler, but I haven't figured out how to handle cross architecture there yet". C is probably the most indispensable language ever as it's the underlying foundation of computing. Though, we're making smart shifts slowly away from it. It's the new assembler in the sense that languages like Rust and Go are offering all the love of C with some run down features common in modern languages.

      C++ would have suffered a death by now if it weren't for Qt coming along and setting a standard for how to program in C++. Even now, it's getting more and more difficult to use C++ as the language lacks direction. Half the people want it to compete with C and the other half wants it to compete with C# or Java. Also consider that multiple mega-billion dollar companies have banked their entire existence on C++. Rust looks like it will edge away a little on C++. Of course, much of that will be dependent on the quality of the standard libraries.

      Java has a committee of elders (really, they're getting old now) that rule the library infrastructure of Java with an iron fist. As such, writing large scale projects with it makes sense. Java is the new COBOL. Billions or trillions of lines of business critical code are written in it. It's not the best language for anything in particular but it wears many hats. But Java doesn't gain its strength from being a language, it gains it from being a library and runtime.

      Javascript is actually probably going to be one of the first languages to die... and quickly. For example, already people are leaving it for TypeScript... because JavaScript is not dependable and never has been. Now that there is an accepted paradigm for bridging other languages into the DOM, it is clear that it's no longer necessary to write in Javascript directly. There's always been so many issues with compatibility from version to version and implementation of Javascript that it always made sense to have a language that compiles into Javascript rather than using it directly. Now with WebAssembly, there's a lot more about to happen as languages begin to target WebAssembly as their back end... and Javascript as a fallback. WebAssembly is still missing a great way to manage memory, but it still looks REALLY promising.

      C# is a controlled language and is easy. And it gets a lot of great new features without overwhelming the programmers with them. You can be a newb scripter or a seasoned veteran programmer and C# probably can work for just about anything you want to write. It also is the only universal programming language at this time (Javascript might count too but doesn't compile native... though this might not matter anymore) as it supports pretty much every major platform today. It also looks like there's some really good legitimate projects to make a real end-to-end cross platform solution for C# as well, especially with Xamarin,forms and XAML to HTML5, There are some real struggles at this point in time with C# because Microsoft is spreading in every direction trying to make a solution that will work for everyone while still remaining polished. .NET Core 2 and ASP.NET Core 2 look REALLY REALLY promising but there will still be work to do. But with C# addresses everything from Web to OS to Docker all in a single solution format which makes it really nice. Oh... and there's the who

    34. Re:Fad languages don't live long by Hognoxious · · Score: 1

      Java is the new COBOL.

      Thankfully modern IDEs tend to have autocompletion, so the fact that it's considerably less concise isn't an issue.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    35. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      Seldom have so many words mean so little.

    36. Re:Fad languages don't live long by h33t+l4x0r · · Score: 1

      I will admit to using Perl for the occasional one-liner, but mostly Perl is for old cowboys who work alone and that's why the libraries are never maintained. For anything complicated you need Python or Ruby.

    37. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      You are an ignorant dumb python-zealot. PHP was and is faster than Python. EVER! Python is even slower than Ruby for some cases. Python is darn slow in reality in raw performance. PHP is very fast and is now even faster in version 7. Probably one of the fastest scripting languges even though it has its own disadvantages. Personally I like Ruby syntax much more than PHP.

    38. Re: Fad languages don't live long by JaredOfEuropa · · Score: 2

      No (3rd party) cookies and no tracking ought to be the default.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    39. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      > Yet, in web apps,

      Water is often used to put out fires. Just as relevant.

      When talking about performance, the discussion is ostensibly against a need for performance.

    40. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      And PHP. With the release of the PHP 7, it's now faster in some cases than python.

      Like a race between a snail and a tortoise...

      If one is going to tout the virtues of these languages - do not use speed. Their strengths are elsewhere.

      So what were you proposing he use to promote PHP?

      • The nice syntax which combines the simplicity of Perl with the flexibility of Cobol?
      • The excellent standard library which combines the cruft of C* with the generality of JCL?
      • The brilliant programming model which combines the ease of debuggability design of embedded equipment with the generality of a config file?
      • The excellent ecosystem in which Facebook is driving morality and sensible working code?
      • The ultra postmodernist design in which a 10 character program is actually over 100 characters and can easily have thousands of different entirely equivalent variations?

      I think that if I was looking to promote PHP, "it's almost not slower than Python" would be one of the top killer arguments.

      * You have to think that the PHP libraries managed to obtain this level of cruftiness in about their first 5 years whilst the C libraries took well over 20 years of being used on millions of different systems for a huge number of completely different tasks. In fact, what with C people continually, but slowly, cleaning up and using proper deprecation strategies, I think you can really say that PHP is exceeding C in terms of cruft. This is a true achievement.

      CAPTCHA: recoil

    41. Re: Fad languages don't live long by ls671 · · Score: 1

      Right! No dependency on third party servers either for your site to load properly.

      --
      Everything I write is lies, read between the lines.
    42. Re: Fad languages don't live long by TheRaven64 · · Score: 2

      CPython has always been a horrible implementation. It's not even at the standards of a 1980 implementation of Smalltalk in terms of performance and Python is easier to generate efficient code from than Smalltalk. HHVM is just amusing: for Facebook's use case, they could get away with never running the GC for most workloads, which would give them around a 30% performance increase... except that PHP makes it observable in the language whether an array has more than one reference and so they need to pay ref counting overhead on everything.

      --
      I am TheRaven on Soylent News
    43. Re: Fad languages don't live long by ls671 · · Score: 1

      When I was his age, I used to write to memory address b800:0000 to display something on the screen.

      http://muruganad.com/8086/8086...

      http://www.shikadi.net/modding...

      --
      Everything I write is lies, read between the lines.
    44. Re:Fad languages don't live long by Megane · · Score: 2

      When I was his age, I had to solder in an extra RAM chip to get lower-case!

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    45. Re:Fad languages don't live long by Megane · · Score: 1

      A few months ago I finally moved my old web server to Apache 2 (yes, seriously, I was still running it on a Blue & White G3, and my new DSL modem broke OS X 10.4's NetInfo stuff!) and was pleasantly surprised to find that while reusing Perl interpreter instances was the default in mod_perl 1, it wasn't even an option in mod_perl 2. Sure, 20 years ago people might sometimes have needed the extra performance, but it could really screw things up if you didn't pay attention all of the time.

      So is Slashdot still running on mod_perl?

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    46. Re:Fad languages don't live long by Megane · · Score: 2

      You're soaking in it*. Slashdot was written in mod_perl, and still is for all I know.

      *now there's an old meme, does any millennial know who Madge is?

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    47. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      What sets Python apart from PERL or PHP is that Python does contain enough language features and enough base library consistency to potentially be a good language, but people have moved on from the others because of clutter and infrastructure toxicity.

      Writing Perl in all-caps is usually a sign that the writer doesn't know what they're talking about, but I'll ask anyway: What do you mean?

      Because Perl's standard library is consistent and it does have enough language features. "Infrastructure toxicity"? "Clutter"?

    48. Re: Fad languages don't live long by Njovich · · Score: 1

      FPM is just an interface, it makes no difference in PHP execution performance. Otherwise, I agree completely, PHP is a lot faster than people pretend it is.
      I don't particularly love PHP as a language, but it's relatively fast, easy to write, there are many programmers available, everyone supports it, and it's very easy to run in large scale production environments with it. It just gets the job done.
      There seem to be a lot of haters out there that just hate PHP because it's popular and are incapable of making any real arguments against it.

    49. Re: Fad languages don't live long by Zero__Kelvin · · Score: 1

      To play off the old adage "I upgraded my CPU so Windows crashes more quickly now" ... PHP 7 allows your site to get to the problems in its library implementations in record time!

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    50. Re: Fad languages don't live long by maroberts · · Score: 1

      When I was his age I often had to use. CALL -151 and I know what the A9 opcode means on a 6502

      A9 opcode needs a following byte as it is LDA #immediatevalue.

      --

      Donte Alistair Anderson Roberts - hi son!
      Karma: Chameleon

    51. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      > If one is going to tout the virtues of these languages - do not use speed. Their strengths are elsewhere.

      Strictly speaking you are right, but whenever people keep insisting on driving nails with a spoon, you'll see heavier spoons emerging...

    52. Re:Fad languages don't live long by _merlin · · Score: 1

      I don't think you're quite right about C++ - I think we've finally got to the point where it's worth using C++. For years, C++ compilers were absolutely atrocious, and standard library implementations were even worse. C++ compilers finally became usable with GCC 4 and MSVC 2005. With these compilers, most of the useful C++ language features finally worked properly.

      Then you had the problem with the standards committee arguing for years, but they've finally got a process that mostly works, and we're getting our updated standards on a three-year cycle. Implementations have mostly caught up with C++14, although support for things like variable templates is still weak. C++11 added a whole pile of stuff that was sorely needed. In particular, variadic templates, constexpr, lambdas, and the concurrency primitives have reduced the need for writing a lot of glue for every project.

      Qt isn't the only extended C++ library. There's also Microsoft's MFC/ATL, although that's stagnated, and of course Boost. No sane person would say Boost is perfect, but it solves a lot of common problems and it's well-understood, so people understand its issues and know how to work around it.

      The biggest problem with C++ now is that the size of it makes it a steep learning curve. There's a lot to get your head around if you want to use it effectively, and it gives you lots of ways to shoot yourself in the foot. Java has similar issues with the size of its standard library, but C++ allows you to do all sorts of things where other languages try to save you from yourself.

    53. Re:Fad languages don't live long by Kjella · · Score: 4, Insightful

      Javascript is actually probably going to be one of the first languages to die... and quickly.

      Hahahaha no. Javascript is to the web what Java is to the enterprise, there's tons and tons of code and libraries written for it that needs to be maintained and improved, full rewrites rarely happen, rarely succeed and take forever. Other languages that compile down to Javascript won't be a threat any more than Rust and Go replacing C. Even if WebAssembly takes off it's 20 years late to become the standard exchange format, as long as you must have Javascript fallbacks for everything why would you bother unless your site is performance sensitive? You could support just JS or JS+WebAssembly, seems like an easy choice for me. Java applets, Flash, plug-ins in general - Javascript has been slaying all the competition. Even if WebAssembly takes off, is there any reason to think it'll be more than inline ASM for performance critical parts? I think it's just a niche for performance optimization, not a general replacement.

      --
      Live today, because you never know what tomorrow brings
    54. Re:Fad languages don't live long by Luthair · · Score: 1

      It may have been around a long time, but its period of popularity was from ~10-years ago to around ~5-years ago.

    55. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      Stop yer yaccin'.

    56. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      When I was his age, I we to solder a wire over to the relay to get the light bulb to blink.... we had no screen you insensitive asshole!!

    57. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      mod_perl is not a programming language, so /. is most certainly not written in it.

    58. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      I would like to see JavaScript die a horrible flaming death, simply because it made pop-up ads possible.

    59. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      It's an acronym. Anyone who writes PERL may do so knowingly.

    60. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      It's the new assembler in the sense that languages like Rust and Go are offering all the love of C with some run down features common in modern languages.

      As a C programmer who works on production cyber-physical systems (CPS) (they have to be VERY robust). I would like to offer some pushback here.

      I think it's truly hard to say that Rust and Go offer "all the love of C." Compilers in particular are going to take FOREVER to catch up to the ubiquity of mature C compilers.

      Secondly, why the hell would Rust and Go all of a sudden spur a departure from C? Talk about fad languages (Rust, especially). Ada is more mature and MUCH more real-world tested than Rust and Go for CPS. I would never see my industry even considering Rust or Go over Ada. But, I also can't see us moving from C, either (full disclosure: I would love to see a push towards Ada in my industry). I couldn't even imagine selling Rust and Go nearly as easily as Ada to management types due to their immaturity

      Like it or not, C is here to stay for the long haul. Rust (ha) and Go are unlikely to change that.

    61. Re: Fad languages don't live long by epyT-R · · Score: 1

      Unless you're the kind of idiot who runs his browser in super-secure-no-cache-no-cookies-no-tracking-etc

      You mean the mode made essentially mandatory with all the abuse from malware and advertisers?

    62. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      I never understood why programmers are so excited over building SaaS portals for their own software that they forget they're losing control of the software they depend on as well. That's what this push to 'webapps' is all about: turning software into a 'service.' It's stupid, and javascript is one of the worst languages ever developed.

    63. Re: Fad languages don't live long by epyT-R · · Score: 1

      nodejs is the new standard for speed?

      No wonder today's software reflects the obesity epidemic.

    64. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      PHP is a bastard of Perl, it would have been better to release it as just the pre-processor and use pure Perl for the code. Or even make it general so it could be any language between the delimiters.

      What the hell were they thinking.

    65. Re: Fad languages don't live long by KGIII · · Score: 1

      Tandy?

      --
      "So long and thanks for all the fish."
    66. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      That's what the Ruby Hipster thought! This is not your grandfather's internet! And look where they ended up. To be fair PHP dudes are not Hipsters... they are too old for that... they're more like hippies.... the Hipsters of yester years... and totally Passé...

    67. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      Sorry, but it's pretty sad that you haven't graduated to writing anything more than a Pet store site.

      It's true most sites do not need much performance, but you also realise a majority of sites doesn't get visited and if you are working on simple web pages that Ruby doesn't have a problem with, you're not gonna get paid well.

    68. Re: Fad languages don't live long by lucm · · Score: 1

      nodejs is the new standard for speed?

      The word "speed" is a terrible way to measure performance because there's often a big trade-off between how fast a single request can be handled versus how many requests can be handled concurrently.

      If we take the price of AWS EC2 instances and the number of concurrent requests, then yes, Node is the new standard for speed because it gives more punch for the same hardware compared to Java.

      --
      lucm, indeed.
    69. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      Really, typed langauges are ridiculous. A leftover from the days when memory had to be manually and statically allocated. With memory being dynamically and automatically allocated, it isn't necessary. I really like how clean and simple Ruby syntax is, it lets you get work done without writing out a bunch of syntactic junk. Some of the worst and most insecure languages for applications are the most insecure, C, C++. Types don't really prevent errors because if you have problems setting a type your going to have problems loading the correct data into the variables, Garbage in, Garbage out. The idea that Python or Ruby isnt appropriate for large apps is laughable and outrageous coming from a mainstream community that has had a consensus that C/C++ is wonderful for applications

    70. Re:Fad languages don't live long by swillden · · Score: 1

      I think we've finally got to the point where it's worth using C++.

      Beat me to it. Well, actually I liked C++ before, but it has become dramatically better of late. Modern C++ feels almost like a completely new language, one that's simpler to read and write, harder to screw up (much less of a footgun) and yet still provides the same run-time performance.

      The biggest problem with C++ now is that the size of it makes it a steep learning curve.

      I'm not so sure about that. I think it's becoming possible to write the modern dialect of C++ without ever learning most of the old cruft. You probably do need someone around who knows the dusty corners, but largely you can ignore them.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    71. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      Sorry, have to correct you on one point - Xamarin is terrible and not at all a selling point.

    72. Re:Fad languages don't live long by _merlin · · Score: 1

      I'm not so sure about that. I think it's becoming possible to write the modern dialect of C++ without ever learning most of the old cruft. You probably do need someone around who knows the dusty corners, but largely you can ignore them.

      It's at the point where there's a lot to learn before you'll know what the right tool for the job is. You could be looking at a perfect use case for std::enable_if, or perhaps you could flatten that thing at compile time with a recursive variadic template. Did you know && is used for both universal references in templates and rvalue references? When should you use std::move vs std::forward? Can you effectively use std::promise? A lot of the new library features won't hurt you if you ignore them, you just might not be getting the most out of the tools you have available. But you do have to be very careful with rvalue references or you can end up inadvertently hurting performance. It's always the way though - if you give someone a gun, it's up to them not to shoot themselves in the foot.

    73. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      'Tis not an acronym.

    74. Re:Fad languages don't live long by Anonymous Coward · · Score: 0

      Go Perl yourself!

    75. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      When I was his age, I used to write to memory address b800:0000 to display something on the screen.

      http://muruganad.com/8086/8086...

      http://www.shikadi.net/modding...

      When I was his age, I used toggle switches to enter my instructions.

    76. Re: Fad languages don't live long by pthisis · · Score: 1

      PHP5+ has been faster than any given version of Python.

      This is very much not the case in my experience. PHP in recent versions has surpassed CPython in speed, but is still considerably slower than PyPy (which is the JIT-enabled Python version used by people who care about speed) at least on many workloads.

      --
      rage, rage against the dying of the light
    77. Re: Fad languages don't live long by pthisis · · Score: 1

      That was a valid point 5 years ago. Things have changed, at least when it comes to PHP.

      PHP 7 running on fpm or HHVM is very fast, almost as fast as nodejs. This is not your grandfather's internet.

      Python on PyPy is significantly faster than PHP7 for compute-intensive workloads, and in some cases is competitive with Java. It's still about 50%-75% slower than C/C++/Rust, but it's pretty respectable.

      https://blog.famzah.net/2016/0...

      --
      rage, rage against the dying of the light
    78. Re: Fad languages don't live long by Anonymous Coward · · Score: 0

      You create a scalability problem with Ruby's performance that isn't present when you use something like Perl or C. There comes a point where throwing more hardware at it doesn't make it faster, because your architecture is so bad.

  4. Who cares? by Anonymous Coward · · Score: 0

    See subject.

  5. Kids by 110010001000 · · Score: 1

    Hey kids here is a tip: Swift, Rust, whatever you are using now: they are just a fad. They are controlled typically by a single corporation. They won't last.

    1. Re:Kids by Anonymous Coward · · Score: 1

      Java has done ok.

    2. Re:Kids by 110010001000 · · Score: 2

      Oh yeah and C++ has been around for 38 years. It ain't going anywhere, especially with Moore's Law ending.

    3. Re:Kids by Anonymous Coward · · Score: 0

      Objective-C's 30+ years of history would disagree with you.

    4. Re:Kids by Anonymous Coward · · Score: 0

      Objective-C lost all relevance again when Swift came out.

    5. Re:Kids by 110010001000 · · Score: 1

      No one uses Objective C. Not even Apple. They use C++.

    6. Re:Kids by Anonymous Coward · · Score: 0

      Lame troll is lame.

    7. Re:Kids by Pseudonym · · Score: 1

      You could have said that Objective-C lost all relevance when NeXT imploded. That would have at least been funny.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    8. Re:Kids by Anonymous Coward · · Score: 0

      Clearly you don't program, or know anyone who does at Apple.

    9. Re: Kids by tigersha · · Score: 1

      Next did not explode, it invaded Apple and took it over from ghe inside. MacOS/X IS NextStep with another GUI shell.

      All the MacOS APIs still start with NS to this very day. The NS in NSString? Now you know

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    10. Re: Kids by Anonymous Coward · · Score: 0

      He said 'imploded,' not 'exploded,' but no matter.

      NeXT was utterly marginalized and confined to a narrow niche when Apple bought them. How Jobs got Apple to pay over $400 million for the company is incomprehensible to me.

  6. Not until Netcraft by Anonymous Coward · · Score: 0

    confirms it.

    1. Re: Not until Netcraft by Anonymous Coward · · Score: 0

      You sir. I love you.

  7. Javascript pushing it down by phantomfive · · Score: 1

    Ruby on Rails doesn't fit in as well with the new Javascript ecosystem. Compared to Node, it seems difficult to use.

    That doesn't mean it will go away: it will probably adapt to the new Javascript frontend styles, and it was always complex next to PHP. As a language, Ruby is sweet with its DSL and it's harder to make type errors like you can in Python. I'll be honest, I'm not sure why Python is more popular.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:Javascript pushing it down by h33t+l4x0r · · Score: 1

      Compared to Node what? RoR is a MVC framework, you'd have to compare it to one of the Node MVC frameworks - of which there are tons.

    2. Re:Javascript pushing it down by Anonymous Coward · · Score: 0

      Node without frameworks is better than Ruby+Rails

    3. Re:Javascript pushing it down by Billly+Gates · · Score: 1

      And callback after callback is while you try to reinvent threading using one of the shittiest languages known to man outside Visual Basic is easier on the eyes?

    4. Re:Javascript pushing it down by phantomfive · · Score: 1

      And callback after callback is while you try to reinvent threading

      That's not a problem anymore since javascript promises.

      using one of the shittiest languages known to man outside Visual Basic

      You don't think VB is better than Javascript? Really? Why not?

      --
      "First they came for the slanderers and i said nothing."
    5. Re: Javascript pushing it down by tigersha · · Score: 1

      RoRs main attraction is not the Web layer. It is ActiveRecord, the dblayer.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    6. Re: Javascript pushing it down by tigersha · · Score: 1

      Bingo.

      Call me a simple farmboy if you like but I prefer the real things ng, not a string of promises. Miss node always promises me a lot, but Ruby? She gives me the goods straight away!

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    7. Re:Javascript pushing it down by tigersha · · Score: 1

      > That's not a problem anymore since javascript promises.

      You must be kidding me. Have you actually ever used promises?

      The problem with promises is that a very deeply fundamental construct is broken in Javascript. The ides of "First do X and then do Y. Eveyr other programming language (except Haskell) does this by writing the X and then Y on another line next to it, or separated with a semicolon.

      This makes good sense since you can, well, read the code from top to bottom just like a real book. Callbacks totally breaks this fundamental thing, and now promises is supposed to fix it. Problems aplenty:

      a) Promises need to wrap the "things that comes after X". This is pretty bizarre, and adds a hell of a lot of overhead just so the computer can go on with its task. Both CPU and mental on the programmer side
      b) There are multiple promise implementations, many libraries, that you might want to use, do NOT use promises (the node filesystem lib for one!) which means some of your code wirkt with them and some do not. I know ES6 is supposed to rectify this but it is still half baked and browsers do not run it necessitating a whole build chain to get Javascript to properly do things one after the other with a sane syntax.

      If JS really, really wants to use callbacks to sequence things it should be a syntactical construct with no more complexity than a semicolon, like in any other language. It is too basic a thing to be left to multiple independent half-compatible complex libraries.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    8. Re:Javascript pushing it down by mean+pun · · Score: 2

      I have never touched Javascript and I know nothing about the 'promise' construct, but people don't use callbacks, upcalls, futures, promises, or whatever they are called for the fun of it. They do it because the sequential execution model is not good enough. They have to deal with unscheduled events, including user clicks; they have to communicate with other systems that will reply at an unpredictable moment in the future (if at all); they have to move lengthy computations out of the main thread to avoid sluggish response to the user. Or they just have keep multiple cores busy and coordinate the work on these multiple cores.

      Thus, i'm pretty sure JS does not 'really, really wants to use callbacks to sequence things', it wants to offer a mechanism to break out of the rigid sequencing of imperative execution. If and only if necessary.

    9. Re:Javascript pushing it down by phantomfive · · Score: 2

      Problem is that many many Javascript libraries now use callbacks as a normal method of operation, often when it's not necessary. The result is now you get the "callback of death" with many nested layers of callbacks. It is ugly but worse, hard to read. Here is an example and some solutions.

      --
      "First they came for the slanderers and i said nothing."
  8. No, it is not by Anonymous Coward · · Score: 0

    No, Ruby is not in decline, but, yes Ruby on Rails is in decline.

    1. Re:No, it is not by cheesybagel · · Score: 1

      Of course! All modern Full Stack Programmers (i.e. do everything Joes/Janes) must use Javascript on both server and client.

      No Ruby on Rails for you...

      As for shell scripting and toy programs that's what Python's for.

    2. Re:No, it is not by lucm · · Score: 1

      As for shell scripting and toy programs that's what Python's for.

      Why would someone use Python for shell scripting? If anything, that's one of the areas where it's the worst offender, with its retarded approaches to managing conflicting libraries (ex: virtualenv) and a blatant inability to handle character encoding properly. It doesn't even have a switch statement, which is a pretty common need for shell scripting, and the Pythonic way to handle command-line arguments (another staple of shell scripting) is more verbose than my chatty aunt when she's had too many drinks.

      I'm not saying the language is not useful in some cases; it's somewhat intuitive and comes with powerful features, but the fact that it's a prime candidate for using Docker says a lot. Even PHP has a better model for conflicting libraries and less chances of causing carpal tunnel syndrome when you need command-line arguments.

      If you're going to make shit up to look cool, at least pick a topic you're knowledgeable about.

      --
      lucm, indeed.
    3. Re:No, it is not by Reverend+Green · · Score: 1
    4. Re:No, it is not by ls671 · · Score: 1

      When I can make the choice myself, I use bash for scripting and Java for anything larger/more complex.

      Do you think somebody who already master bash should learn pocoo unless he has to patch something already written in it?

      --
      Everything I write is lies, read between the lines.
    5. Re:No, it is not by Reverend+Green · · Score: 1

      Pocoo is a team that develops several popular Python libraries, so you wouldn't learn Pocoo per se. The use case for the Click library, linked above, is when you need a good quality CLI for a Python program. Usually that's going to be adding CLI functionality to existing code, or replacing an old home-rolled CLI with something that sucks less.

      But as for your question - the answer depends where you are in life. Unfortunately there are very steeply diminishing monetary returns for learning new languages if you're an experienced programmer. Otoh, 2 languages isn't much, so feel free to learn a few more before you get burnt out. Kotlin would be at the top of my list today, and for a person already in the JVM ecosystem background it's an obvious choice.

  9. learning new languages: fool's errand by Anonymous Coward · · Score: 0

    gonna be Capitalism's Butt Boy, huh?

    1. Re:learning new languages: fool's errand by Pseudonym · · Score: 1

      On the contrary, every programmer should learn a new language every year. The catch is to ignore what employers think is trendy and pick one that will teach you something lasting and useful.

      If you already know Haskell, try Coq. If you already know Smalltalk, try Erlang. And everyone should try writing 10k+ lines of Prolog some time.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    2. Re: learning new languages: fool's errand by Anonymous Coward · · Score: 0

      My summer project is to learn 68K assembler.

    3. Re:learning new languages: fool's errand by angel'o'sphere · · Score: 1

      There are actually not enough interesting languages so you can learn one per year.
      I 'can prolog' but I never grasped how to solve a problem in Prolog without my programs looking like pascal.

      I understand every prolog problem/solution I see, but simply don't grasp how to come from the problem to the solution.
      I mean simple stuff like the wolf, sheep, salad problem. How to express that in Prolog I know, but how to come to that idea/solution I don't know,

      I never saw a 10k line Prolog program by the way. The biggest I worked with (writing support code in C/C++) was about 1k or a little but more.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re: learning new languages: fool's errand by tigersha · · Score: 1

      Does implementing your own invented functional language in 10K+ of Prolog count? Even when it was in 1989 and the language is a pre-Haskell lazy pure language?

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    5. Re:learning new languages: fool's errand by Dutch+Gun · · Score: 1

      I prefer to delve deeper into the few languages I already know and use on a daily basis, and focus on mastering my craft with those particular tools. My feeling is that I'm better served by focusing on a few languages that I'll actually be using. As interesting as it may be to pick up Haskell or Prolog, I can't think of how I'd even want to use those languages in my current development efforts. I've got plenty of projects without inventing new ones simply for the sake of learning a language.

      As for learning new languages, I do that as the need arises. I entered the workforce knowing Pascal and C/C++, and subsequently learned Lua, C#, Objective-C, HLSL, GLSL, Bash, and Python.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    6. Re: learning new languages: fool's errand by Pseudonym · · Score: 1

      Yes. You may now learn Agda.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    7. Re:learning new languages: fool's errand by Pseudonym · · Score: 1

      There are actually not enough interesting languages [...]

      I strongly disagree. Netcraft will never confirm it, but a lot of interesting languages exist. You just need to avoid "yet another interchangeable block-structured language with a Simula-like broken object system", which sadly describes most of the popular ones.

      I never saw a 10k line Prolog program by the way.

      My point precisely. Prolog gets weird at that scale.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    8. Re:learning new languages: fool's errand by ls671 · · Score: 1

      Nowadays I don't have enough time for this, so anything new I learn is on a "need to know" basis.

      --
      Everything I write is lies, read between the lines.
    9. Re:learning new languages: fool's errand by ls671 · · Score: 1

      There are actually not enough interesting languages so you can learn one per year.
      I 'can prolog' but I never grasped how to solve a problem in Prolog without my programs looking like pascal.

      Strange, you must be using a different version of Prolog than I used to because, in the version I used, it was pretty hard to write a program looking like a pascal one.

      I understand every prolog problem/solution I see, but simply don't grasp how to come from the problem to the solution.

      In the version I used, every problem was pretty much solved with recursion.

      I mean simple stuff like the wolf, sheep, salad problem. How to express that in Prolog I know, but how to come to that idea/solution I don't know,

      I never saw a 10k line Prolog program by the way. The biggest I worked with (writing support code in C/C++) was about 1k or a little but more.

      Yep, recursive programs are typically small.

      --
      Everything I write is lies, read between the lines.
    10. Re:learning new languages: fool's errand by angel'o'sphere · · Score: 1

      Strange, you must be using a different version of Prolog than I used to because, in the version I used, it was pretty hard to write a program looking like a pascal one.

      With "Pascal" I mean: the rules more or less worked like procedures and not like rules.

      In the version I used, every problem was pretty much solved with recursion.
      Well, that indicates that you probably did not really use logic/rule based programming, just like me ;D

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    11. Re:learning new languages: fool's errand by angel'o'sphere · · Score: 1

      Well in my resume, I have about 30 programming languages listed, that I actually have used in commercial software development.

      As long as there are no new languages with new concepts, or better syntax for old concepts, I don't see anything interesting on the horizon.

      I mean: I could learn CoffeeScript ... but for what? I only use JavaScrip in an HyperCard clone called NovoCard (for iPads) ... I don't really like web development.

      If I was to really learn something it would probably a library like AngularJS or ProcessingJS.

      I still have not done real SmallTalk though ... that would be fun :D

      However if you have suggestions, I'm full ear (german saying, sounds stupid in english)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    12. Re:learning new languages: fool's errand by K.+S.+Kyosuke · · Score: 1

      What about writing a 10k Prolog implementation instead? Given the limitations of Prolog, maybe that would be much more useful for an individual.

      --
      Ezekiel 23:20
    13. Re: learning new languages: fool's errand by Anonymous Coward · · Score: 0

      The English equivalent expression is: I'm all ears.
      English and German are frequently quite alike.

    14. Re:learning new languages: fool's errand by Pseudonym · · Score: 1

      After the 20th language or so, it gets easier. I'm somewhere in the early 70s at the moment. Lost count a while ago.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    15. Re:learning new languages: fool's errand by Pseudonym · · Score: 1

      As long as there are no new languages with new concepts, or better syntax for old concepts, I don't see anything interesting on the horizon.

      Like I said, you have to avoid all the broken Simula clones. Pretty much every popular language is one of those. (Although to be fair, some languages are nice if you avoid most of their object system. I'm looking at you, C++.)

      So the first thing I'd do is complete the list of interesting features if you haven't already. So, for example, if you have never used a constraint logic language (e.g. a modern Prolog with some CLP extension), go do that. Or if you've never used a language with a logic-based type system (e.g. Haskell), go do that. Once you've covered the basics that you may have missed, look for the interesting embedded languages (do you really know PostScript?) or research languages.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    16. Re:learning new languages: fool's errand by angel'o'sphere · · Score: 1

      That are actually 3 bad examples :D
      PostScript is pointless, and as far as I understand it a variation of Forth.
      Prolog is my anathema, because I don't grasp how to convert a problem into a simple prolog program. It seems extremely hard to teach. I mean: the examples are always super easy and simple to understand. But given a simple problem, how to express it in Prolog is beyond me. It seems no one ever understands the questions I'm asking. (Yes, I can program in Prolog, but my programs don't look like typical perfect Prolog solutions)
      Haskell I was forced to use/learn in 4th semester at my university. It is probably the only one on your list that is worth a try. But at that time I found it completely incomprehensible, just like modern PERL.

      or research languages
      I do that all the time, but only read the papers ...

      The functional part of Haskel is actually not that challenging, with lambdas we have that in Java (somewhat) too, we have it in Scala and in Groovy. But the weird syntax is annoying, but that again is the same for Scala.

      Interesting languages are Io and Loke e.g. But well, I have no pet project that is suited to play with them.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    17. Re:learning new languages: fool's errand by Pseudonym · · Score: 1

      That are actually 3 bad examples :D

      Haha.

      PostScript is pointless, and as far as I understand it a variation of Forth.

      Closer to Logo, probably. But some day, you may have to generate PostScript...

      Prolog is my anathema, because I don't grasp how to convert a problem into a simple prolog program.

      OK, so how about a modern variant such as Mercury? Mercury is easier to use as if it were an imperative language, and then you can add nondeterministic (or semideterministic) bits as needed.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    18. Re:learning new languages: fool's errand by angel'o'sphere · · Score: 1

      Interesting :) thanx.
      Not sure I finally understand how to craft the required clauses forr e.g. the wolf, sheep salad problem. But on the first glance the language looks interesting. And a build in 'rule system' or logic language certainly is worth a try.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  10. Forget everything you know by Anonymous Coward · · Score: 0

    Elixir. Forget the rest.

  11. Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

    I've talked to several of their devs about this bug, and it hasn't been fixed yet. When Ruby can't run from Windows, it will die. Sorry to say that, but Windows has nearly a fourth of the server market. I posted this question:

    https://www.reddit.com/r/Puppet/comments/6kktma/puppet_apply_hangs_when_run_from_powershell_but/

    And, notice no solutions have been posted.

    1. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      Puppet is really pushing Ruby usage, but when it doesn't even run, that pushes users from Ruby.

    2. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      We have the same problem. Puppet blamed Microsoft and Microsoft blamed Ruby. It sticks to be caught in the middle.

    3. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      Microsoft announced in 2002 that PowerShell was a temporary stepping stone to desired state configuration. You shouldn't depend on it since it is going away.

    4. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      That is true, Microsoft doesn't have any other options. We must use that PowereShit for now.

    5. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      This. It's going away so you shouldn't use it.

    6. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      I was the one that replied to you. Both Linux and Windows have that problem with Ruby.

    7. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      This. Puppet is the best thing that happened to Ruby since Rails. It's just too bad that Puppet Labs isn't better at releasing workarounds for the problems Microsoft and Ubuntu cause. We're forced to use that Windows garbage since our main investor is from Microsoft, and our CTO used to work at Canonical so we're forced to use Ubuntu for all of our UNIX systems. Puppet just hangs after the latest Windows Server 2016 update, and has for months with Ubuntu. I don't understand why they don't fix their problems.

    8. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      We're currently rewriting all of our Ruby scripts to PHP because of that hanging problem.

    9. Re:Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      That is a Microsoft-created problem with PowerShell, but Ruby hasn't released a a fix yet. If you're not willing to work-around Microsoft-created problems, why even release on Windows?

    10. Re:Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      PowerShell was a temporary solution as Microsoft admitted to nearly 15 years ago. You shouldn't use it.

    11. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      We've known that for years, but Microsoft hasn't released its replacement yet.

    12. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      Microsoft wants to artificially create hiring so they refuse to allow setup to be scripted.

    13. Re: Ruby hangs when run from PowerShell by lucm · · Score: 2

      Puppet just hangs. It's not Windows-specific; it's a feature of this nightmarish system. I've seen cases of million+ queued jobs slowly murdering the masters. Maybe it works if one has 3 servers and 12 lines of config but in a real environment it's just a terrible system.

      Take puppet to the backyard and shoot it in the head. Then bring in Ansible. No flaky agent, no constant chat on the network, no mysterious ordering of tasks, no need to find countless plugins written by random people to do the most simple of things. I've seen Ansible work smoothly on 2,500+ servers with fairly complex variations in configs and dynamic inventories.

      I've never seen anything good written in ruby and puppet is just par for the course.

      --
      lucm, indeed.
    14. Re: Ruby hangs when run from PowerShell by lucm · · Score: 1

      Desired state configuration is a concept that doesn't survive contact with reality. It looks good on a whiteboard but that's about it.

      When you look at it, you think: oh that's cool, it's decentralized. But it's only on paper. It's susceptible to all kinds of unexpected systemic effects, just like antivirus storms with "edge" protection systems, so to get it working properly, you have to inject rack awareness and all kinds of messy tweaks that take out all the benefits of being decentralized. Totally not worth it.

      --
      lucm, indeed.
    15. Re:Ruby hangs when run from PowerShell by guruevi · · Score: 1

      Nobody should use Windows for servers and those that do shouldn't need to program anything because it's just to run closed source software. If you want to program, do it on a proper server, there is no need to hang it in Windows-space just for the heck of it.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    16. Re: Ruby hangs when run from PowerShell by Anonymous Coward · · Score: 0

      That's insane.

  12. Python Won. by 0100010001010011 · · Score: 4, Interesting

    It's pretty clear that Python's going to come out on top of the GenY/Millenial coding club. Ruby got a quick lead making Web 2.0 development easy but Python hit critical mass just by the number of available packages. Numpy, Matplotlib, etc. "How to ___ with Python" nearly always turns up a result.

    And peers: No, just like COBOL and FORTRAN, C and your current $favorite_language isn't ever going to go away. I still do a lot of C, Matlab and Simulink at work. But when I have the opportunity Python is just faster due to the shear number of packages that already exist.

    1. Re:Python Won. by Anonymous Coward · · Score: 0

      "How to ___ with Python" nearly always turns up a result.

      Ya, 98% of the time the result is something a 1st year CS student banged out in their sleep and ususally it's flat out wrong. The remaining 2% are suboptimal, inelegant, and/or incompatible with the framework/design that I'm using.

    2. Re:Python Won. by DCFusor · · Score: 1, Insightful

      Try CPAN. How to ___ with perl has been around longer and is far better. I find python craps up my namespace and scope too easily, but then I've not used it anywhere near as much as the more developed perl. And you can't paste a long program into a single line edit box as the indentation matters. Whitespace as a statement delimiter is stupid, and it being popular just means that there are a lot of stupid people. Ditto indentation. I'd rather have the choice.

      --
      Why guess when you can know? Measure!
    3. Re:Python Won. by 0100010001010011 · · Score: 3, Insightful

      Perl won the GenX popularity contest a long time ago. No one is coming after your Perl, don't worry. You can use it until the day you die.

      You'll be able to recruit Perl developers long after your death just like they do for COBOL and FORTRAN.

      And when Millennials get older hey'll have as many complaints about what ever the next gen programming language is and why Python is the best thing ever. Slashdot will be running stories about "Perl developer shortages" and life will go on.

      You're doing the technological equivalent of arguing over what hammer is better. No one is going to take away your blacksmith's anvil or coarse hammers. I just prefer something else.

      . I'd rather have the choice.

      I'd rather just learn how to do both and teach my brain how to switch depending on what I'm developing. It's about as different as learning to speak another language and then doing so. Arguing than Spanish's word order is better than German's isn't going to help you solve any problems nor is screaming at the Germans in Spanish to "just learn Spanish".

      Today I'll work in Python, tomorrow Bash, the rest of the week Matlab. Occasionally PHP, C, VBA, JavaScript and a few others. Same reason I have to deal with Git, SVN, and ClearCase. In the corporate wold it's easier to learn to do something new than change the momentum of an entire corporation.

      And you can't paste a long program into a single line edit box as the indentation matters.

      I take that time to proof read and learn the language and customize the example I copy and pasted for my application.

      Whitespace as a statement delimiter is stupid, and it being popular just means that there are a lot of stupid people.

      _______ is stupid, and it being popular just means that there are a lot of stupid people.

      Somewhere there's an old assembly developer saying something very similar about the C developers. And the C developers about the Perl, and Perl about Python, Python about what ever comes next.

      It's a language, not a religion.

    4. Re:Python Won. by Anonymous Coward · · Score: 0

      "It's a language, not a religion."

      You must be new here. Welcome to /.

    5. Re:Python Won. by angel'o'sphere · · Score: 1

      Arguing than Spanish's word order is better than German's isn't going to help you solve any problems nor is screaming at the Germans in Spanish to "just learn Spanish".
      The word order is actually the same, as in basically all european languages.
      However, at least in german, some languages offer to change it as the question what is subject and what is object is determined by articles (I doubt Spanish is one of them)

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

      Python appears to be winning for now.

      FTFY

      Python is mundane, boring, square. And it's got this little problem with mandatory whitespace.

    7. Re:Python Won. by erapert · · Score: 2, Informative

      It's such a shame too because Ruby is nicer and more regular than Python. Everything Python tries to do Ruby does better.

      For example:

      # run some other program using the shell and get its stdout
      # ruby:
      out = `ls -al | foo -a -b | grep -i bar`
      # python:
      from subprocess import call
      call(["ls", "-l"])

      # string length, toString etc.
      # ruby
      puts '10'.to_i.to_s
      # python
      print (string (int ('10')))

      # classes
      # ruby
      class Dog
          # getters and setters implemented with one line if that's your style
          attr_accessor :breed :name

          # constructor: notice no stupid __double_underscores__
          def initialize(breed, name)
              # Instance variables are denoted with the @ sigil
              @breed = breed
              @name = name
          end

          def bark
              puts 'Ruff! Ruff!'
          end

          def display
              # string interpolation like a civilized scripting language
              # note that parenthesis are semi-optional in ruby
              puts "I am of #{@breed} breed and my name is #{@name}"
          end
      end

      # python
      # note the repetitive and pedantic use of self everywhere
      class Dog ():
          # note the hacky __double_underscores__ necessary to prevent name collision for the class' constructor
          def __init__ (self, breed, name):
              self.breed = breed
              self.name = name

          def bark (self):
              print ("Ruff! Ruff!")

          def display (self):
              # lack of proper string interpolation makes this clunky and tedious
              print ("I am of {breed} breed and my name is {name}".format(breed=self.breed, name=self.name))

    8. Re:Python Won. by lucm · · Score: 1

      . I'd rather have the choice.

      I'd rather just learn how to do both and teach my brain how to switch depending on what I'm developing.

      I completely agree.

      And sometimes it's not about picking the best language, it's about picking the right one for your environment.
      - You're surrounded by mathletes? R or Python.
      - You work with red bull dudes? Node.
      - Your team jerks off to UML diagrams? Java.
      - You deal with grumpy get-off-my-lawn sysadmins? Perl.
      - You sit next to people who wear short sleeve shirts and sandals with white socks? VBA.

      Which one is the best? The one that does the job without having to brainwash whoever will be left to maintain it when you ride in the sunset.

      --
      lucm, indeed.
    9. Re:Python Won. by Anonymous Coward · · Score: 0

      How about "How to run a spark job in Perl".

      How about "How to use a different Perl implementation other than CPerl?"

      What, to this day, continues to be superior about CPAN, when compared with Ruby Gems, PyPi, NPM, etc? Most of CPAN is bitrot at this point.

    10. Re:Python Won. by Hognoxious · · Score: 1

      The word order is actually the same, as in basically all european languages.

      Bullshit. French & Italian generally put the adjective after the noun, but English, German & Dutch put it before. Then there's the thing where German sometimes outrageously at the end the verb puts.

      Il m'a donné une pomme rouge. He me has given an apple red. Yup, fucking identical that.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    11. Re:Python Won. by Anonymous Coward · · Score: 0

      You have to scream at Germans (and Spaniards too) - they do not seem to understand any other way.

    12. Re:Python Won. by Anonymous Coward · · Score: 0

      hahah, you're no programmer. You're level 2 tech support or some low level IT job that is ripe for H1B. Did you write VBA? Oh, lawd.

    13. Re:Python Won. by Anonymous Coward · · Score: 0

      # lack of proper string interpolation makes this clunky and tedious
                      print ("I am of {breed} breed and my name is {name}".format(breed=self.breed, name=self.name))

      It does appear that you are somewhat less familiar with python, so, without addressing the point of your comparison (de gustibus non disputandum) here are some tips about string formatting:

      First, you can make it shorter

      print ("I am of {} breed and my name is {}".format(self.breed, self.name))

      Second, if you like naming your parameters, try it this way:

      print ("I am of {0.breed} breed and my name is {0.name}".format(self))

      Finally, instead of display() you might want to use __repr__(), it makes displaying less painful :-)

    14. Re:Python Won. by Anonymous Coward · · Score: 0

      # run some other program using the shell and get its stdout
      # ruby:
      out = `ls -al | foo -a -b | grep -i bar`
      # python:
      from subprocess import call
      call(["ls", "-l"])

      TBH, Python's is better in that it doesn't fork a shell. Of course, given the command-line you used, you did specifically want to fork a shell...

      Otherwise, I fully agree with your post.

    15. Re:Python Won. by 0100010001010011 · · Score: 1

      you're no programmer

      You're right. I'm a mechanical engineer that picks the best hammer for the job. In 10 years it'll probably be something different just like it was different 10 years ago.

      My boss comes to me and says "I need this done for these people" and it's my job to get it done. Not schedule daily meetings and argue with him over what language is best.

      ripe for H1B.

      I wish. I'd hire a dozen H1Bs to do the boring parts of my job so I could concentrate on the rest.

    16. Re:Python Won. by angel'o'sphere · · Score: 1

      And?
      Subject, predicate, object: still the same order in most european languages.
      Nitpicking about an exception like and adjective makes not really sense, or does it?

      Then there's the thing where German sometimes outrageously at the end the verb puts.
      Not sure if I get it, but in english you mostly have the same freedom to rearrange words for emphasizing as in german.

      In other words: if a german sentence has the verb at the end then it is mostly for dramatic/lyric or emphasizing. You don't need to learn that. You can basically convert most english sentences word by word into proper german, without changing any order. In my previous sentence however you would shift "convert" behind "english" when you translate it, the same for changing, it would indeed end up at the end of the sentence as "zu aendern".

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

      Ruby's claim to fame was that it was the anti-enterprise, hipster's python. Ruby's popularity literally exists to be a counter culture against Python's mainstream adoption and continued growth. It's all but impossible it wasn't going to eventually implode.

    18. Re:Python Won. by Anonymous Coward · · Score: 0

      "How to waste time with Python" seems to be fairly common on SuckExchange...

    19. Re: Python Won. by Anonymous Coward · · Score: 0

      You have no idea what you are talking about. German grammer aften requires one or more verbs at the end of the sentence. When listening to someone speak, you have no idea what they are talking about until the end of the sentence. In English and many other languages, It's more like a stream and you can mostly understand something if you miss a part. There is no stream of consciousness speaking in German.

      Don't even get me started on Finnish or Hungarian...

    20. Re:Python Won. by michael_wojcik · · Score: 1

      You'll be able to recruit Perl developers long after your death

      Oh, shit, now we have to worry about zombie recruiters too?

      Though I'm not surprised Perl is to blame for this somehow.

  13. Seems obvious. by Gravis+Zero · · Score: 1

    Unless Ruby has something new to offer then it's popularity will continue to wane and other languages will continue to displace it.

    --
    Anons need not reply. Questions end with a question mark.
  14. Ruby went the wrong direction by Anonymous Coward · · Score: 0

    When they took '.' out of the default Load Path after 1.8.7, it went downhill. The maintainers became a crazed bunch of control freaks you banned you from irc if you complained. Ruby was a nice language that made regex matching native and didn't require parentheses around function arguments, but now they're trying to reverse all those conveniences. I blame the fucktards in charge of updating the language, they didn't keep backwards compatibility and thus deserve their fate.

  15. javascript and python squeezing it dead by Anonymous Coward · · Score: 0

    Ruby's good but Rails is too convoluted. It's not flat out detrimental like some of the other fads. WordPress has too large a only-learned-wordpress base in the independent "developer" community and Zend is embedded in the php mindset. Both are destructively wrong but the front end js frameworks are probably the most damaging right now. Angular was a mistaken approach with business momentum driving the continuing stench. React solves the must-be-new issue for the herd-mind and little else. Javascript on its own is okay and not going anywhere given it's developing ecosystem and no-paperwork rapid development (as long as the cool kid frameworks don't turn a 5 day job into agile Vietnam), and JQuery is great for prototyping quickly and then refactoring away. Perl is underrated but probably condemned to legacy status.

    Python is fantastic and will live. C is not going anywhere. The mere mention of Java is flamebait and deservedly so.

    Full disclosure: I'm a big Python fan but have yet to write it for money so YMMV. Rails and Java I've only debugged extensively. Perl and C I miss but don't seem to bump into them. Recently released from the php cesspool I'm hanging with the cool kids and node and no/mysql in the [reverb] cloud [/reverb] these days. Friends rave about Go but can't comment.

  16. rails was dumb from the start... by Anonymous Coward · · Score: 0

    ...but all the kids have moved to Node so that people only need to be good at javascript. Node is also *much* more easily scalable than Ruby, so it's just a better idea that's quicker for people to get started on.

    Ruby sucks and all Rails did was bring an overactive desire for convention, which you can do literally with any other language. So if you like the idea of rails, pick a better language and runtime that isn't shit and get on with life.

  17. Cautionary tale, may not be safe for work by rmdingler · · Score: 1

    Also, too, and neither, by not so old white, pole smokers.

    --
    Happiness in intelligent people is the rarest thing I know.

    Ernest Hemingway

    1. Re:Cautionary tale, may not be safe for work by lucm · · Score: 1

      I love how they kept the guy with the fat stomach in the background in the beginning. It makes for a nice contrast.

      And the music really worked well with the video; I was so deeply touched by the emotions of this masterpiece that after a while it felt as if the picture was slightly moving from side to side.

      Bravo!

      --
      lucm, indeed.
  18. Angular + bootstrap is eating the world by rsilvergun · · Score: 0

    Mostly because between the two you can make a single app that works on mobile, tablet & desktop.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re: Angular + bootstrap is eating the world by Anonymous Coward · · Score: 0

      Angular is a total piece of shit (at least the previous, most widely deployed version). Even its creators saw this and the next version is completely different.

      Untyped, mostly unstructured programming languages (i.e., the scripting languages like bash, perl, python, ruby, and javascript) have always attracted people who knew almost nothing about programming, and no surprise there: they were always the intended audience! No problem there,except for the fact that they remain unaware that they know nothing about programming and infest the world with their misdesigns so that others are stuck working with them years.

    2. Re:Angular + bootstrap is eating the world by Anonymous Coward · · Score: 0

      You're already showing your age then, at least in the webdev world: Angular's already been put down as a poorly architected dinosaur for lifers and fogeys. Its attempts to grab something on the way down with reinnovating have done nothing but dilute, fragment, and confuse its base. Successive versions have been, at large, laughed off as failed overengineering.

    3. Re:Angular + bootstrap is eating the world by ls671 · · Score: 1

      Mostly because between the two you can make a single app that works on mobile, tablet & desktop.

      Any framework + bootstrap pretty much does that.

      --
      Everything I write is lies, read between the lines.
    4. Re: Angular + bootstrap is eating the world by Luthair · · Score: 1

      As someone who wrote an enterprise application using AngularJS for 5-years - the original one was great. I haven't checked recently but v2 was a flaming pile of garbage that didn't properly work. I also would expect people to be a lot more cautious about adopting v2, users writing real applications don't have the luxury of re-writing the entire UI every couple years.

    5. Re: Angular + bootstrap is eating the world by guruevi · · Score: 1

      That's the problem of pretty much any JS framework except maybe some of the staples like jQuery (and even there they often kick out working code). I've worked with many a framework of CSS/HTML/JS and they all suffer from the same problem, upgrading the framework results in your program being completely useless.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    6. Re:Angular + bootstrap is eating the world by epyT-R · · Score: 1

      & desktop.

      This is laughable at best. node desktop applications may in fact be worse than java desktop applications.

  19. Stupid premise by Anonymous Coward · · Score: 0

    Picking languages by popularity is for non-technical management and naive developers. If that's you, then go look at the top 5 Tiobe rankings and pray your competition is just as dumb, I guess.

  20. Ruby to JS, Ruby to Python. by Anonymous Coward · · Score: 0

    I noticed years ago Ruby web devs moving to JS. They were using JS on the front end and now they use it on the server.

    I was using Ruby and it's DSLs Rake and RSpec up until a few months ago. I'm a DevOp and now I'm using Ansible and Python. I love Ruby. I love Ruby's syntax. I think Ruby is more advanced than Python but the industry has moved on. It's not worth the fight.

    1. Re:Ruby to JS, Ruby to Python. by Anonymous Coward · · Score: 0

      This.

      Most Ruby application developers I know switched to JavaScript and Node, or (more recently) Go. Those using it for sysadmin/devops stuff are pretty much all using Python, with a few using Go. I still don't understand Go's popularity - it's a step down from Ruby and Python, and there are other languages that make distribution easy (which seems to be the main selling point).

  21. Popularity by Anonymous Coward · · Score: 0

    It's the only reason I became a programmer.

    What am I to do if nobody thinks my programming language of choice is not popular?

  22. The Rubyist Cult moved on to Rust by Suiggy · · Score: 1

    Once you acknowledge this fact, it pretty much explains everything.

    1. Re:The Rubyist Cult moved on to Rust by Anonymous Coward · · Score: 0

      Seems 17.5% of Rustaceans are familiar with Ruby, according to the 2016 survey:

      https://blog.rust-lang.org/2016/06/30/State-of-Rust-Survey-2016.html

    2. Re:The Rubyist Cult moved on to Rust by Anonymous Coward · · Score: 0

      So that puts the part of before cool crowd at 17.5%, the rest are obviously bandwagoneers. Thus we conclude that rust is pretty square.

  23. Demand for Ruby by angel'o'sphere · · Score: 1

    I guess it is a culture thing again.
    In Germany(Europe?) there is basically no demand for Ruby.
    Luckily ... I hate its syntax.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  24. Re: whoa MAN KEWL kids use ERLANG by Billly+Gates · · Score: 1

    Techno Psychobitch bitch is utterly terrifying hipster superset of Erlang! The real Rockstar language.

    Kids be cool use Erlang reborn as OTP

  25. Ruby is dead, long live Ruby by Virtucon · · Score: 1

    Another great solution looking for a problem to solve.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  26. I hope so by Anonymous Coward · · Score: 0

    I prefer code that I can actually SEE.

  27. The headline is question by Anonymous Coward · · Score: 0

    The answer is yes

  28. Crystal maybe? by Anonymous Coward · · Score: 0

    I wish Crystal would pick up steam. It's super fast and all (c/golang fast), but what i love most with ruby is the meta-programming and the ruby gem ecosystem. If you could use the existing ruby gem ecosystem with Crystal, I would be all over that. https://crystal-lang.org

  29. Ruby is my favorite snail by Theovon · · Score: 2

    As far as interpreted languages are concerned, Ruby is by far my favorite. I can code in that language far faster than any other, despite having decades more with the likes of C and C++. It’s nice for quick-and-dirty prototypes and things that don’t require a lot of processing power. But for serious tasks, it’s just too damn slow. I have tried, for instance, to write parsers in Ruby because its string and array manipulation are really convenient, but for most data sources, the Ruby programs just can’t keep up. And I’m no slouch at playing “golf” with intricate Ruby expressions. What’s worse is that with the global interpreter lock, I can’t get more throughput from threading.

    I’m not a huge fan of Python in terms of syntax, but although general Python code is of comparable things, Python has some tools that make it invaluable. I’m thinking specifically of sympy and numpy. Simpy is an amazing symbolic algebra library. I can’t tell you how nice it is in machine learning to be able to have it automatically compute partial derivatives of arbitrarily complex expressions. And when you can organize your data into vectors and matrices, numpy can use GPUs to get incredible throughput. This is the only reason I bothered to learn Python, and it’s one reason Python is eating Ruby’s lunch.

    1. Re:Ruby is my favorite snail by Anonymous Coward · · Score: 0

      I love ruby the language, but numpy+matplotlib, what's ruby got?

    2. Re:Ruby is my favorite snail by tepples · · Score: 1

      What’s worse is that with the global interpreter lock, I can’t get more throughput from threading.

      The typical GIL workaround is import multiprocessing. Would it work for your use case?

  30. "Answer is always no" eexception by Anonymous Coward · · Score: 0

    This is the exception to Betteridge's law of headlines (https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines) that proves the rule.

  31. Yes. by Anonymous Coward · · Score: 0

    Absolutely.

  32. On Rails? by Anonymous Coward · · Score: 0

    The SUPER-HIWAY is already long dead, with AOL. Yahoo, too./ So anything on rails, or associated with rails, is something-something.

    I'd have included slashdot, but that would give away my rank and name, which I am wont to do.

    Capt. Obvious

  33. Re: whoa MAN KEWL kids use ERLANG by tigersha · · Score: 1

    Erlangs little sister Elixir is making me cheat on Ruby behind her back and I think we are going to elope in the near future. Ruby is the sweetest thing and all, but Elixir? She just never stops.

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  34. Re: One Thing Is Certain by tigersha · · Score: 1

    Maybe so but we still have all the money and that compensates for therest.

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  35. Kind of back where it was by Anonymous Coward · · Score: 0

    Ruby is kind of back where it was before the Ruby On Rails hysteria from back around 2008-2009. It's a nice language, with some niceties that I sometimes wish other languages had. In many ways, Python3 is eating much of its lunch, but at 8 on the list it's hardly unpopular. Now Swift is benefiting from being hyped, for example.

  36. Ruby's problems by Hemi+Rodner · · Score: 1

    Ruby is not a real gem as some people may think.
    I have learned upon the situation and reached the following conclusions:

    1. Ruby pollutes the program namespace because it introduced a program called "gem". Why couldn't they call it "ruby-gem"? I don't believe they deserve to take the names of two precious stones in the /usr/bin folder.
    2. Ruby on rails always makes me think of a kidnapped girl called Ruby, which is strapped to the railroad, while shouting helplessly.

    Because of these reasons, Ruby is on the decline. And nothing good will happen to Ruby until those problems are resolved.

    Thanks.

    --
    hemi
  37. Can Ruby ever be fast? by Anonymous Coward · · Score: 0

    Is there any way to add optimization qualifiers to Ruby? I'm given to understand that it's slow because all objects can be hot-patched at runtime. For example, I have a mail server object and I can inject a web server into it at *runtime*. I suppose that if you could add a "freeze" qualifier to your class definitions then the language could be "saved" for people that want to optimize without dropping down to C; but that's always been what I've heard--Ruby for high level, rapid development, then optimize later with libraries written in C if you need them. That can lead you to a path where there's just a thin "glue" layer at the top and the glue language doesn't matter that much. I've seen stuff like this where the "glue" was plain old Bash scripts or something. 1000 lines of glue at the most, setting up pipelines, managing processes, doing backups and nightly jobs. The "heavy lifting" was C or C++. The "glue" was easier for admins to work with, but with not that much glue required, the choice of glue language wasn't that important.

  38. Ruby vs PHP by EmperorOfCanada · · Score: 1

    I love how the tech world has nearly non stop crapped on PHP but largely left Ruby alone. While I haven't used PHP in about 8 years, I do admire the fact that most websites that use it and then grow massively, then continue to use it. While most Ruby sites that I know of dump Ruby on Rails as they cross a certain size and just can't keep it working.

    I can't comment on why this is, just that I have seen it at least a dozen times on sites where the company was crossing about the 5 million in value barrier. The three complaints of the people running the companies are: Can't get truly senior programmers who will touch Ruby. Progress pretty much stops as they fight more and more with their product as performance and new functionality dries up. And usually someone within the company starts using a whole other platform to start redoing chunks of their product with results that make them angry they are so much better.

    On one note, the definition of "Senior Programmer" is not someone with many years of Ruby experience, but huge amounts of experience with massive projects. The key to the definition is not just time in the business but a proven track record of putting multi million dollar projects to bed over and over. If they mention Ruby they get no interest from these types, if they don't mention Ruby then these types bugger off when they hear Ruby. But when the prospect of hiring them to replace the Ruby with a whole new foundation, they are usually very interested.

    A decade ago, Ruby was hip, It is not hip, it is often an indicator of a site built by people who have never managed a site much bigger than a sub 1 million dollar company's web site (a company where the website is the company that is).

    But like any halfway workable language. It seems to work fine for basic, data in and out on a website type drudgery. Thus it won't just die as there are no doubt many 30 year olds with a decade of Ruby under their belts who will insist on using their singular hammer for the rest of their careers. VB is still a thing too.

    With an industry perspective like that, I can see why Ruby is on the Ropes.

    1. Re:Ruby vs PHP by Anonymous Coward · · Score: 0

      I believe you are talking about Ruby on Rails, the web framework that is written in Ruby.

      Not Ruby the language itself.

      CAPTCHA: whoops

  39. No, and no. by Anonymous Coward · · Score: 0

    Only until you really do benchmark the thing and find that with trivial changes you can get tenfold speed-ups because your code is really that stupid. And with a little thought even bigger speed-ups because, say, linear search really isn't the best search to do over and over again. This can be as simple as looking at the output of a few SQL EXPLAIN statements and adding an index. Suddenly you can do with half the hardware and drop your burn rate accordingly, which could just turn an unprofitable business profitable. It has happened.

    But that reasoning of paying for hardware to ignore the software problems really only flies when you have to pay for all the hardware on the entire chain.

    As soon as someone else runs (part) of the software and you're not paying for it, like in a web scenario, or software sold to customers to run there, then you suddenly aren't free to decide for them it's a better idea to pay for more hardware than to fix your damn software to, say, use decent algorithms instead of the most bogotronic you could find because that was "fastest to implement". It just means that your shop is incapable of turning out decent software in this regard. That brings up the question: In what other regards is it sub-par?

  40. Why Ruby fails and PHP lives on by Qbertino · · Score: 1

    Rails is the primetime tentpole project for Ruby and it's a hideous mess. And - unlike PHP - it's a mess that doesn't work. Yeah, Ruby itself is neat and well built and well designed and all that but the stack that includes Ruby barely works compared to other solutions.

    LAMP (with P for PHP) OTOH just works. Install and fire up your LAMP stack, upload your PHP files via FTP, call the URL, works. End of story. Yes, PHP is a historically grown mess, but it get's the job done and it is a very well documented mess that offers solutions for any web problem you can think of. Contrary to such blowhard tools like Ruby/Rails that pisses it's pants when you've got some wrong minor version running and need an entire extra Node installation just to handle rollout and such.

    If anything will replace PHP for serverside web, it will be JS/Node or something like that. And even that is still up for debate and will need a few years to show and tell. And will probably only be able to happen if microservices and vertical + horizontal scaling become a widespread need - which actually doesn't appear to be the case.

    Ruby/Rails hippsters get lost in details while the PHP folks just roll out their Drupal and WordPress balls of hair within 5 minutes, slap on a few of the bazillion plugins available, do a little PHP-style sticky-tape and chickenwire coding and then go home with a happy customer and a web-project delivered on time.

    Yeah, PHP/LAMP does quite a few things wrong, but until a new PL actually copies what it does right, it will remain king of the web hill. And for good reasons too.

    My 2 cents.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Why Ruby fails and PHP lives on by Luthair · · Score: 1

      While javascript is a turd, I think node is likely here to stay. It lets the amateurs in web development (not that all web devs are, or that all node users are) function with a single programming language.

      Hopefully WebAssembly takes off so we're saved from Javascript.

    2. Re:Why Ruby fails and PHP lives on by Anonymous Coward · · Score: 0

      Rails is the primetime tentpole project for Ruby and it's a hideous mess

      Total agreement.

      And getting worse every year with the excessively complex "asset pipeline".

      Wish there were a friendly CGI-like ruby framework. I'm actually calling Ruby CGI scripts in places now.

  41. PERL/COBOL by mapkinase · · Score: 1

    The comparison to COBOL is just plain vanilla ridiculous. COBOL conservation is not a property of language, it's a property of the domain that chose that language 50 years ago.

    Nothing like this happened to any other languages.

    --
    I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
  42. frequently takes her love to town by Anonymous Coward · · Score: 0

    for god's sake, turn around

    1. Re:frequently takes her love to town by Anonymous Coward · · Score: 0

      Ruby's heart ain't beatin cause she knows the feelin' is gone
      She's not the only one who knew there's somethin' wrong
      Her lover's in the distance as she wipes a tear from her eye
      Ruby's fading out, she disappears, it's time, time to say goodbye

      Destination unknown
      Ruby ruby ruby ruby soho

  43. shouty, shouty by Anonymous Coward · · Score: 0

    The only message you'll ever get across is "oh lookit, another loudmouth 'merkin". That is, until you get off that high horse and learn the local language.

  44. Not surprised by cjonslashdot · · Score: 2

    Ruby is fantastic for writing a-lot of code quickly. But it has terrible performance, and is has terrible maintainability characteristics (I recall doing global file system searches to find the file that defines something that my code requires, which is brought in by another require, and then another).

    Performance sometimes matters. If one's app requires 20 VMs in Ruby, but only 2 VMs in Go or C++, then the cost difference can be substantial.

    Also, Ruby - while 20 years old - is surprisingly immature. E.g., a few years back, I wrote a multi-threaded program in Ruby. It didn't work. After days of scratching my head, I discovered that while Ruby used native threads, it had a global interpreter lock, forcing the native threads to take turns. Maybe they have fixed this by now. My program needed true concurrency, so I had to re-write it using processes. Gosh - Java got threads working after the first two years.

    Firms that really know how to maintain large codebases have also discovered that type-safe languages are very effective for maintainability. Check out this post: https://medium.freecodecamp.or... . I myself have experienced this: I once translated a fairly good sized codebase from Ruby to Java, and in the process discovered a large number of potential bugs - thanks to Java's type safety. I have found that when I refactor Java code, I introduce zero new bugs, but when changing Ruby code, the only thing that prevents new bugs is a large suite of unit tests. Thus, writing in Ruby _requires_ that one write comprehensive unit tests. I personally don't use TDD - I use ATDD, so my focus is on acceptance tests, not unit tests. Ruby _forces_ me to write unit tests. I don't want to be forced to work a certain way.

    I am not bashing Ruby - I think it is great for some things - but people (like those at Google) have come to understand its shortcomings.

    1. Re:Not surprised by Anonymous Coward · · Score: 0

      On typing, I dont agree. First of all, a language like C offers no type safety, yet tons of crap is written in it. A dynamic language does offer safety, there are no buffer overruns and dangling pointers, or segfaults. That is because they use reference counting to automatically reclaim memory which also makes sure memory is not reclaimed when there are still things pointing at it. It also dynamically resizes variables. The fact is, types don't guarantee much. You have to correctly initialize values and types do not guarantee that. If you have problems correctly initializing data structures, typing isnt going to help you, because while you can assign a type to a variable, your still going to have problems loading the correct data into the members.

  45. so if not RoR.... by buddyglass · · Score: 1

    What would be your go-to language+framework if you wanted to build a web application + restful API that needed an ORM layer to an RDBMS? This is an honest question; I don't ask rhetorically in order to imply that RoR is still the best option. Just curious what people think is the best option in 2017 for this type of project.

    1. Re:so if not RoR.... by buddyglass · · Score: 1

      Python + Django? Node.js + Meteor? Node.js + Sails? Java + Spring? Java + Tapestry? Whatever Microsoft's solution is?

    2. Re:so if not RoR.... by guruevi · · Score: 2

      Whatever language and framework you or your team is most versed in.

      You can do this in PHP if that's what your programmers know but when you set forth programming language requirements based on mostly managerial gibberish, you've failed at design.

      Whether your applications is going to end up with a REST or SOAP interface with an RDBMS or NoSQL backend is largely unimportant to the customer, as long as it works, is done in time and is easy to maintain.

      For a new application, since you specified you 'require' REST as an API, I wouldn't even go the layer of ORM + RDBMS, most of the time an Object Oriented DB may be sufficient here since you don't require any state and most inquiries will be (or should be) simple. So since you've got REST + OODBMS and you need a service layer - at this point, I'd be looking more at Zend or NodeJS because those are the broadest understood and fit better with your prerequisite of a stateless object-oriented API.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    3. Re: so if not RoR.... by Anonymous Coward · · Score: 0

      An OO DB should be sufficient. Heh!

      Let me know when your data is used by a real business or organization. People will want to run queries you never dreamed of. It's time for a relation DB of some kind then. Jesus, it's not hard.

    4. Re:so if not RoR.... by buddyglass · · Score: 1

      I intended the question to be from the perspective of "I'm going to build a team" not "I already have a team". So, there's no current team whose skills need to be taken into consideration. The question basically boils down to: given set standards of quality, scalability and time-to-release, which language/framework allows me to spend the least amount of money on a team of developers. Both now, and five years from now. Wouldn't wan to pick a language/framework that's a flash in the pan and for which it will be difficult (read: expensive) to find devs 5-10 years down the road.

    5. Re: so if not RoR.... by guruevi · · Score: 1

      Yeah, but that doesn't work well with a REST interface, something like a CRM with REST ends up very kludgey simply because you want to run complex, dependent, stateful queries.

      The problem as I attempted to point out is with the initial 'requirements'. The OP managed to cram in a bunch of technology-du-jour as to their "requirements" without even checking with or assembling a team of programmers. I don't understand why everyone needs to specify a REST interface just because Twitter has one.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
  46. Which python? by Anonymous Coward · · Score: 0

    This has been my biggest problem with python: Each version is different, and each version breaks different packages.

    The cvs/subversion to git converter for instance. It works with Python 2.7 (and only 2.7!) but for a serious repository will take upwards of 2 days to convert, with a number of possible issues along the way that will terminate the conversion process in a non-recoverable fashion. Most of that time is wasted on file accesses. PyPy is actually must faster for the file accesses... but doesn't properly close files, leading to a crash when file handles run out. If you work around that by configuring your system to allow infinite file handle you run into other problems with the code generation not being equivalent to python 2.7 (even using the pypy2 interpreter!) and it ends up corrupting the data it is supposed to be outputting and eventually crashing.

    Given this: Why would you trust python for any level of non-trivial code, when regression testing every facet of it your code may run through is nearly impossible, and the interpreters can't be guaranteed to operate the same between versions or implementations?

    1. Re:Which python? by pthisis · · Score: 1

      PyPy is actually must faster for the file accesses... but doesn't properly close files, leading to a crash when file handles run out.

      PyPy closes file handles properly. The problem is that some programs make invalid assumptions about how file closing works in Python. The Python documentation explicitly says that ref-counting semantics are not guaranteed by the language: expecting file handles to be automatically closed immediately at the end of a scope is incorrect, though it happens to "work" in most versions of the CPython interpreter.

      If the timing of when file handles are closed is important, you should use a with statement or otherwise ensure that close() is called at the proper time.

      --
      rage, rage against the dying of the light
  47. Don't Repeat Yourself implies JS on the server by tepples · · Score: 1

    Wait... so we're mixing client-side and server-side now?

    If you Don't Repeat Yourself, you have to write your server-side application logic in JavaScript (or in a language that compiles to JavaScript) so that your app can use provably the same logic for prevalidation on the client that it uses for authoritative validation on the server.

  48. The scripting equiv of "DLL Hell" by acroyear · · Score: 1

    I can't stand Ruby and gems because updates to things are so fragile. We're dependent on a lot of libraries (through dependencies of dependencies) and if any one of them is not THE version it is supposed to be, everything breaks. Fortunately this is just our build tools (the app is using an older version of SproutCore). If it was deployment on production, we'd be totally screwed because we'd never be able to upgrade anything and would be vulnerable to security issues constantly.

    NPM/node runs that same risk (the second i saw there was an "nvm" available, I knew things were going downhill), but the idea of dockers is a better way to protect one application and its version dependencies from another.

    --
    "But remember, most lynch mobs aren't this nice." (H.Simpson)
    -- Joe
    1. Re:The scripting equiv of "DLL Hell" by ahodgson · · Score: 1

      Ruby works fine with setups similar to Python virtual environments. We run many Rails apps simultaneously on the same boxes with all their gems built and deployed along with the app. Just set GEM_HOME and GEM_PATH accordingly and go.

      Ruby is slow but versioning just isn't an issue.

      Docker works, too, of course.

  49. Shell injection, encoding, capturing stderr by tepples · · Score: 1

    Here's the complete Python 3.5+ example:

    from subprocess import run, PIPE
    out = run("ls -al | foo -a -b | grep -i bar",
              shell=True, encoding="utf-8", stdout=PIPE).stdout

    Each of these things that doesn't appear in your Ruby snippet has a reason to exist:

    shell=True Defaulting to not using the shell means defaulting to immunity to shell injection vulnerabilities. Python has a bit more culture of being safe by default than, say, PHP. It also means defaulting to not being quite as dependent on which shell the user prefers for interactive work, particularly on operating systems from traditions other than POSIX. encoding="utf-8" Standard output from this pipeline is a stream of bytes. Not all characters in filenames fit in one byte, and not all pipelines even produce bytes that should be interpreted as characters. This tells Python that the standard output should be decoded as characters. stdout=PIPE).stdout Sometimes you want to capture standard output and standard error; sometimes you want to let one or both pass through.

    constructor: notice no stupid __double_underscores__

    So how do you provide both and a method called initialize? If you actually want a method called initialize, such as if you are wrapping an underlying interface containing a method called initialize, do you have to spell it instead as something like initialize_?

    lack of proper string interpolation makes this clunky and tedious

    How else would you go about specifying a format string in a context that differs from the context that includes the local variables, such as reading the format string from a file that lists the translations of format strings into your user's native language?

  50. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  51. Unkind / True by Tenebrousedge · · Score: 1

    Yes, Ruby is a very slow language. Apparently Crystal hopes to fix that. However, if nothing else it has a very fluent syntax, and the comparison with VB is just spiteful. Rails may deserve more of that type of venom, but even it has its place. Ruby can be used pretty well for simple scripts and for prototyping, and for anything that receives a trivial amount of web traffic.

    PHP has come a long way to achieve respectability, considering that it took some years before it acquired the concept of classes. It's a very fast scripting language with relatively familiar ALGOL-style syntax, if a bit verbose. It's not quite as boring as Java, but the real problem is that there are a zillion people in third world countries that churn out far too much PHP code.

    I started in PHP and fell in love with Ruby. I'm not particularly concerned if it's going to be useful on the day-to-day. Crystal might be a thing, or Elixir, but probably I'll end up learning Haskell and Go and then hoping that their Ruby-influenced relatives are an option. Note that your definition of 'Senior Programmer' is one I'm not particularly interested in. I mean, it might even be a good one, I just have more interest in exploring languages and environments than building something that large. Hopefully there's money in that.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  52. Bullshit by Anonymous Coward · · Score: 0

    Your post is a long rant of unsubstatinated premises.