Live data from Hacker News

Learning Curves for Different Programming Languages

github.com

151–160 of 221 posts

Re: Learning Curves for Different Programming Languages

#151

Everyone seems to be focusing on the PHP vs Haskell thing and seem to be missing the other points. Here's a summary: Callbacks in Javascript make you feel more productive, but in fact you become less productive. Design patterns in Java don't actually make much of a difference in productivity, but you think they do. Templates in C++ seem hard but with a big payoff, but they don't accelerate productivity. Unit tests in…

I'll take another tack and suggest that productivity today is more a function of what libraries might be available rather than language choice. A language like Python has a massive number of really good libraries spanning a range of disciplines. Is it the "best" language (whatever that means)? Don't know. Don't care. You can get the job done and the ecosystem is huge. I am not comparing Python to Haskell or anything…

The graphs are not productivity vs language choice. They are productivity vs experience in a given language.

In languages with strong libraries, I'd expect a diminished benefit from experience. 10 years python experience doesn't make you much more productive in standing up a django application vs someone with 1 year of experience. Thus, the curve for python might very well be quite flat (since you start fairly high to begin with).

Lisp, on the other hand, may not start as high on the productivity scale. Because of its powerful macro system, the language can be tailored to suit your problem better than anything else.

That's what the graphs are talking about. How valuable experience is (and comparing it to how valuable we think our experience is).

Re: Learning Curves for Different Programming Languages

#152

Decorators are more than simple syntactic sugar in Python ;) It seems overly critical, but still funny (the Haskell one is probably the most spot on) And after all, Facebook uses PHP and MySql

PHP is just a language that so many of the so called programmers here like to bash. I doubt many have even used it, they take a quick look at the hello world and just write it off. But in reality, the language makes so little difference to most projects, it's more about the ecosystem, the jars for java, the packages for python, these are what propel a language to productivity highs. Imagine python without BeautifulSoup or numpy or scipy or any of a hundred packages I use daily. Imagine Java/scala without Mahout etc etc. The actual syntax is almost irrelevant to anyone that can articulate good software design in code.

It's like giving a pencil to Picasso and suddenly implying anything he draws will be shit just because he's not using paint. Utterly ridiculous arguments by the pseudo intellectuals here trying to convince themselves how smart they are for using Haskell. Meanwhile, real software developers just get on with writing good clean code in whatever language they want.

Re: Learning Curves for Different Programming Languages

#153

Say what you want but PHP is one of the most Rambo-bad-ass languages I've ever used. You toss everything to the wind if you want and you will still get a working product. Few languages have that sheer "Survive" feel to it. For that alone I think PHP should be celebrated. Note: I'm not a PHP developer.

I think that most of the things people hate about PHP are the things that make it work. It doesn't force you into a particular paradigm, and it all but encourages mixing PHP and HTML together into one horrifying but incredibly convenient stew. It doesn't force you to write clean, elegant or secure code (you can, but it doesn't hold your hand in that regard.) A lot of it is still just wrappers around c. You're not chained to a package manager (although you can use one if you want) or a framework (although you can pick one of many.)

And yet, for almost everything people want to do when they want to put something on the web, it's not only perfectly adequate, but in some ways more efficient than other languages. Most of the web is still CRUD anyway. Take stuff from a database, iterate it, insert it into html, serve html. Or maybe do all that, and serve json instead. This is still far, far easier to do in PHP than it is other languages.

That said, as a professional PHP developer, there is still plenty about the language that drives me up the wall. I think anyone who works with it and is serious will admit there are issues with the language. But no one can say it isn't battle-tested, or that it doesn't make it easy to get something up and out onto the web.

Re: Learning Curves for Different Programming Languages

#154
post #148

Earlier quoted context omitted.

> Facebook choosing to improve upon PHP is still, arguably, a (weak) argument for PHP as a language which is, at least, worth improving upon. Or you can look at it another way: Facebook regretted their decision and PHP potentially made the switch to a different platform so hard that they were forced to improve the language, rather than leave. Don't forget that companies need to be able to justify the cost of moving f…

That's possible, although i'd expect a company with Facebook's resources to be able to justify a move more easily than others, if PHP turned out to be a bad enough decision to really matter. It's still one of the names practically anyone would want on their resume, so they wouldn't exactly be unable to find developers in any language they chose.

You're severely underestimating how much lock-in there is to a platform once you choose it for a product and your entire company is built around that one product.

The amount of effort needed to rewrite Facebook is insane. To rebuild the entire site, migrate the data, ensure everything is seamless to the users, fire all the now-useless employees and replace the workforce (with all its own re-training costs)...

A company like Google can gradually phase out languages they use in favour of others because they can prototype things in new languages in other products they own (Think Dart and Go). A one-website shop just does not have that option.

Re: Learning Curves for Different Programming Languages

#155
post #150
post #138

Earlier quoted context omitted.

It's an incorrect conclusion that requires further education and experience before you can be sure your subjective experience of productivity truly is that poor.

please, this is getting old. Haskell is one of those languages for people who want to show off how clever they are instead of just getting on with developing applications that actually do useful things efficiently.

I hope you are trolling. Most Haskeller's value getting things done over being clever and actually actively avoid being clever. In your other comment you point out that many of PHP detractors have not used it or have very little experience.

Do you have experience using haskell? If not, you are being hypocritical. Please stop.

Re: Learning Curves for Different Programming Languages

#156
post #29
post #26

I am increasingly convinced that Haskell only exists so that people who know it can pat themselves on the back for being wonderful.

With the exception of pandoc, I don't recall seeing anything particularly impressive from the Haskell camp. (Btw, this, actual stuff people use, is how I measure programming languages -- this metric takes into account communities, libraries, practical issues, etc all together, and ties them with practical results. It's my version of "let the market decide").

You may want to check out Warp [1]. Another quite popular haskell project you may have heard about is this compiler some people use... is called ghc :) [2]

1: http://aosabook.org/en/posa/warp.html

2: https://github.com/ghc/ghc

Re: Learning Curves for Different Programming Languages

#158
post #127

Earlier quoted context omitted.

>I know a lot of people encharmed by it, but no-one productive (i.e. delivering products quickly; it's not the same as solving pure, mathematical problems). Is this actually true, or is it "true in your heart"? Very few people use haskell for solving "pure mathematical problems". People use it for things like developing the fastest microkernel in existence, doing high volume trading, making games, and writing boring…

Links or it didn't happen. I don't imply that nobody uses it for solving practical problems. Just, I made my judgement based on: - friends (I know, it may be biased), - GitHub codes I use (and in general, popularity), - blog posts on Haskell (I encounter mostly language-oriented; less problem-oriented like "let's make a 3d game", "web scraping", "machine learning", "web dev" etc).

If I took time to link to each one of those would it change your opinion any?

Re: Learning Curves for Different Programming Languages

#159
post #148

Earlier quoted context omitted.

That's possible, although i'd expect a company with Facebook's resources to be able to justify a move more easily than others, if PHP turned out to be a bad enough decision to really matter. It's still one of the names practically anyone would want on their resume, so they wouldn't exactly be unable to find developers in any language they chose.

You're severely underestimating how much lock-in there is to a platform once you choose it for a product and your entire company is built around that one product . The amount of effort needed to rewrite Facebook is insane. To rebuild the entire site, migrate the data, ensure everything is seamless to the users, fire all the now-useless employees and replace the workforce (with all its own re-training costs)... A comp…

Fair enough. I've never worked for a company that actually decided to switch, much less one close to the size of Facebook. My assumption was just assumption.

Re: Learning Curves for Different Programming Languages

#160
post #5

Earlier quoted context omitted.

How about C# vs F#? Both have great support. You'd think if people were 2x-3x more productive in a functional language, you'd get a lot of developers moving from C# to F# because both have excellent support from Microsoft.

"support from Microsoft" I know a few Microsoft employees who got in trouble for using F# internally.

Those don't represent the rest.
Post reply on HN