Is Ruby's Decline In Popularity Permanent? (computerworld.com.au) 253
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.
Is Ruby's decline in popularity permanent? (Score:4, Funny)
What is Ruby?
Fad languages don't live long (Score:5, 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.
Re: (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.
Re:Fad languages don't live long (Score:5, Interesting)
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.
Re: (Score:2)
Thankfully modern IDEs tend to have autocompletion, so the fact that it's considerably less concise isn't an issue.
Re: (Score:2)
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 gettin
Re:Fad languages don't live long (Score:5, 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.
Re: Fad languages don't live long (Score:5, 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.
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
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
Re: Fad languages don't live long (Score:2)
Re: (Score:2)
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.
Re: (Score:3)
Re: (Score:2)
Right! No dependency on third party servers either for your site to load properly.
Don't Repeat Yourself implies JS on the server (Score:2)
Wait... so we're mixing client-side and server-side now?
If you Don't Repeat Yourself [wikipedia.org], 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.
Re: (Score:3)
Re: Fad languages don't live long (Score:2)
More like a race between a snail and a brain damaged tortoise
Re: (Score:3)
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.
Re: (Score:2)
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 [hp.com] a $75/mo lease.
You *could* just rewrite the business logic in assembly with SSE optimizations and all if you really wanted speed.
Re: Fad languages don't live long (Score:4, 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.
Re: Fad languages don't live long (Score:3)
And programmer time. That is where Ruby shines. Many webapps will execute 1 hour of CPU time in their lives.
Re: (Score:3, Informative)
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
When I was your age we used UNIX Shell and FORTRAN and that's the way we liked it!
Get off my planet!
Re: Fad languages don't live long (Score:2)
When I was his age I often had to use. CALL -151 and I know what the A9 opcode means on a 6502
Re: (Score:2)
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... [muruganad.com]
http://www.shikadi.net/modding... [shikadi.net]
Re: (Score:3)
Re: (Score:2)
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.
Re: (Score:3)
Re: (Score:2)
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.
Re: (Score:2)
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 s
Re: (Score:2)
Re: (Score:3)
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.
Re: whoa MAN KEWL kids use ERLANG (Score:2)
Techno Psychobitch bitch is utterly terrifying [youtu.be] hipster superset of Erlang! The real Rockstar language.
Kids be cool use Erlang reborn as OTP
Re: whoa MAN KEWL kids use ERLANG (Score:2)
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.
Re:Fad languages don't live long (Score:4, Funny)
Perl is like Python, only less stupid and more compatible with itself.
Re: (Score:2)
Cautionary tale, may not be safe for work (Score:2)
Re: (Score:2)
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!
Re: (Score:3)
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?
Kids (Score:2)
Re: (Score:3)
Re: (Score:2)
Re: (Score:2)
You could have said that Objective-C lost all relevance when NeXT imploded. That would have at least been funny.
Re: Kids (Score:2)
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
Javascript pushing it down (Score:2)
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.
Re: (Score:2)
Re: Javascript pushing it down (Score:2)
RoRs main attraction is not the Web layer. It is ActiveRecord, the dblayer.
Re: (Score:2)
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?
Re: (Score:2)
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?
Re: (Score:2)
> 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 to
Re: (Score:3)
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 sl
Re: (Score:3)
Re: Javascript pushing it down (Score:2)
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!
Python Won. (Score:5, 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.
Re: (Score:2, Insightful)
Re:Python Won. (Score:4, 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.
Re: (Score:2)
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)
Re: (Score:2)
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.
Re: (Score:2)
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. Y
Re: (Score:2)
. 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
PERL/COBOL (Score:2)
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.
Re: (Score:2)
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.
Re: (Score:3, Informative)
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_acce
Shell injection, encoding, capturing stderr (Score:2)
Here's the complete Python 3.5+ example:
Each of these things that doesn't appear in your Ruby snippet has a reason to exist:
Seems obvious. (Score:2)
Unless Ruby has something new to offer then it's popularity will continue to wane and other languages will continue to displace it.
Demand for Ruby (Score:2)
I guess it is a culture thing again. ... I hate its syntax.
In Germany(Europe?) there is basically no demand for Ruby.
Luckily
Ruby is dead, long live Ruby (Score:2)
Another great solution looking for a problem to solve.
Ruby is my favorite snail (Score:3)
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.
Ruby vs PHP (Score:2)
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. T
Why Ruby fails and PHP lives on (Score:2)
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 [slashdot.org], but it get's the job done [slashdot.org] and it is a very well documented me
Re: (Score:2)
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.
Not surprised (Score:3)
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... [freecodecamp.org] . 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.
so if not RoR.... (Score:2)
Re: (Score:2)
Re: (Score:3)
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' RE
The scripting equiv of "DLL Hell" (Score:2)
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
Re: (Score:2)
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.
Re: (Score:2)
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'
Re: (Score:2)
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?
Re:Is Ruby's Decline In Popularity Permanent? (Score:5, 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.
Re: (Score:3)
Rails may be taking a back seat, but Chef is very much in use, and will be for some time to come.
Re: (Score:2)
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.
Re: (Score:2)
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 big
Re: (Score:2)
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.
Re: (Score:2)
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 P
Re: (Score:2)
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.
Re: (Score:2)
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. ;D
Well, that indicates that you probably did not really use logic/rule based programming, just like me
Re: learning new languages: fool's errand (Score:2)
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?
Re: (Score:2)
Yes. You may now learn Agda.
Re: (Score:2)
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 learni
Re: (Score:2)
Nowadays I don't have enough time for this, so anything new I learn is on a "need to know" basis.
Re: (Score:2)
Re: (Score:3)
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
Re: (Score:2)
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 wor
Re: One Thing Is Certain (Score:2)
Maybe so but we still have all the money and that compensates for therest.
Re: (Score:2)
Mostly because between the two you can make a single app that works on mobile, tablet & desktop.
Any framework + bootstrap pretty much does that.
Re: (Score:2)