Slashdot Mirror


Which Programming Language Pays the Best? Probably Python

Nerval's Lobster writes: What programming language will earn you the biggest salary over the long run? According to Quartz, which relied partially on data compiled by employment-analytics firm Burning Glass and a Brookings Institution economist, Ruby on Rails, Objective-C, and Python are all programming skills that will earn you more than $100,000 per year. But salary doesn't necessarily correlate with popularity. Earlier this year, for example, tech-industry analyst firm RedMonk produced its latest ranking of the most-used languages, and Java/JavaScript topped the list, followed by PHP, Python, C#, and C++/Ruby. Meanwhile, Python was the one programming language to appear on Dice's recent list of the fastest-growing tech skills, which is assembled from mentions in Dice job postings. Python is a staple language in college-level computer-science courses, and has repeatedly topped the lists of popular programming languages as compiled by TIOBE Software and others. Should someone learn a language just because it could come with a six-figure salary, or are there better reasons to learn a particular language and not others?

277 comments

  1. Ada Engineer... by Anonymous Coward · · Score: 5, Informative

    Ada is paying me ~$140k

    1. Re:Ada Engineer... by Tablizer · · Score: 2

      Ada tells all her men that, until...

    2. Re:Ada Engineer... by aaaaaaargh! · · Score: 5, Insightful

      Exceptions???

      I very much doubt that a high salary for an Ada engineer is an exception, it would be suprising if there are any low-wage Ada jobs at all. The same goes for COBOL, without doubt.

    3. Re:Ada Engineer... by ColdWetDog · · Score: 2

      250K what? Rupees? Rubles

      --
      Faster! Faster! Faster would be better!
    4. Re:Ada Engineer... by omtinez · · Score: 2

      Let me question your doubts with some facts. Two major insurance companies and one (huge) banking institution located in the midwest pay between $70,000 and $80,000 a year as of mid 2013 for senior-level positions. I know that from going to their interviews myself, and they were very desperately looking for people. Albeit not desperately enough to raise the pay...

    5. Re:Ada Engineer... by darkwing_bmf · · Score: 2

      For a senior level position??? They need to update their salary reference tables.

    6. Re:Ada Engineer... by plopez · · Score: 2

      What is that in salary adjusted for local cost of living. $80k is minimum wage in Silly Valley, but in the mid west, which is a huge swath of land from Western PA to Eastern CO, $150K can buy you a nice house in a decent neighborhood. While in Silly Valley you would probably have to pay $500K + a horrific commute.

      --
      putting the 'B' in LGBTQ+
    7. Re:Ada Engineer... by Anonymous Coward · · Score: 0

      Heh, those engineers are getting pretty screwed. I'm making more than that with a year and a half of experience as an Android developer in Colorado.

    8. Re:Ada Engineer... by Anonymous Coward · · Score: 0

      Could be related to local living costs though. Midwest might well be far cheaper to live in than New York / San Francisco and pay vary accordingly.

    9. Re:Ada Engineer... by Anonymous Coward · · Score: 0

      What is that in salary adjusted for local cost of living. $80k is minimum wage in Silly Valley, but in the mid west, which is a huge swath of land from Western PA to Eastern CO, $150K can buy you a nice house in a decent neighborhood. While in Silly Valley you would probably have to pay $500K + a horrific commute.

      True, $70k goes a LOT further in the Midwest than on either coast, especially compared to California.

    10. Re: Ada Engineer... by Anonymous Coward · · Score: 0

      US dollars. (Which is obvious given the context)

    11. Re:Ada Engineer... by Anonymous Coward · · Score: 0

      Let me question your doubts with some facts. Two major insurance companies and one (huge) banking institution located in the midwest pay between $70,000 and $80,000 a year as of mid 2013 for senior-level positions. I know that from going to their interviews myself, and they were very desperately looking for people. Albeit not desperately enough to raise the pay...

      What is that in salary adjusted for local cost of living. $80k is minimum wage in Silly Valley, but in the mid west, which is a huge swath of land from Western PA to Eastern CO, $150K can buy you a nice house in a decent neighborhood. While in Silly Valley you would probably have to pay $500K + a horrific commute.

      And yet the company in the midwest can't fill the job. Having worked in low cost areas and in San Jose CA, I would never choose a rural area again.

      Layoffs will come to any company. In San Jose, I could walk a quarter mile in any direction and pass several companies that would hire me for three times what I made in a rural area. In the rural area, the town had one employer. When that company had a layoff, everyone who lost their job had to move. This meant they all sold their house at the same time, driving prices way down. Working in a company where everyone fears that a layoff will force them to move is incredibly terrible. The politics and back-stabbing take so much of everyone's time that no real work gets done.

    12. Re:Ada Engineer... by Anonymous Coward · · Score: 0

      I live in the mid-west, and I don't know any developers making less than 85k, while most know of make 95k+

    13. Re:Ada Engineer... by Anonymous Coward · · Score: 0

      lol 500k... I wish

    14. Re:Ada Engineer... by HeckRuler · · Score: 4, Interesting

      Sigh.... *Raises hand*
      Hey, in my defense, when most people say mid-west they really mean Chicago. And the cost of living there is not the same as here in miniscule Quad Cities. I know it's only three hours away, but it's still a difference.
      Here, I only know of CTOs and one developer making over 6 figures. Most of the makerspace is making under 80K, with a couple exceptions.
      The biggest factor is that, for an embedded guy like me, there are only about 3 companies that would employ me. And only one big fish. (It's John Deere). There are plenty of small side players for general business-level developers, and web-devs can live anywhere, right?

      But yeah, with about a decade experience, I'm kinda feeling underpaid. The good news is that the whole family is headed for Colorado, where I hear there's more opportunity.

      With a combined income of ~150k, we live a comfortable life in a 3 bed 3 bath and have saved up a net worth of about 300k.
      That's two engineers with no kids most of that time. We certainly feel like one of the wealthier people in the area.

    15. Re:Ada Engineer... by AuMatar · · Score: 4, Interesting

      Even cost of living adjusted you're being screwed. A senior in Seattle (more expensive, but not silicon valley prices) will make 120K plus stock. A senior in the valley can make 160+ not counting equity and bonuses. A senior coming off a big success like working at a sold startup can make twice what your combined salary is (that's not counting what he makes on the sale itself). And cost of living isn't as huge a deal as many people make it for two reasons:

      1)The only thing that's hugely different is housing. Even if you pay 2-3x rent, you won't pay 2-3x for car insurance, the car itself, food, etc. That tends to be more 10-15% max (and usually much less, some things are even cheaper). You're most likely figuring the COLA wrong. The right way to do it is to break your costs into categories and figure out the adjustment for each category, not straight multiply by the rent adjustment.

      2)If you save the same percentage in either place, you should still prefer the place that pays more because you can downsize someplace cheaper at retirement.

      If you have personal reasons for wanting to live out there, that's totally different and understandable. But understand that you are getting fucked financially by it, it isn't just a cost of living difference.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    16. Re: Ada Engineer... by Anonymous Coward · · Score: 0

      What context, you bible-waving gun-thumping lardass?

    17. Re:Ada Engineer... by jonbryce · · Score: 1

      If it was Rupees, it would be quoted as 2.5 lakh, and tech salaries in India are a bit higher than that.

    18. Re:Ada Engineer... by Anonymous Coward · · Score: 0

      car insurance may be significantly different. IDK about Seattle or Quad Cities but I've been looking at car insurance for different localities. There's even a chart I found somewhere. IIRC Pittsburgh is about the cheapest, Miami is one of the most expensive, and the difference can be more than 2X (for full coverage). According to one insurance person, Miami is high because of the high number of undocumented or illegal drivers and those with no insurance.

    19. Re:Ada Engineer... by Anonymous Coward · · Score: 0

      Colorado is great and the pay is decent. Like I said $140k as an Ada SE. Look around and you will find a well paying engineering job. Brush up on engineering as apposed to hacking! Makes a big difference in interviews.

    20. Re:Ada Engineer... by plopez · · Score: 1

      I was working in a smaller University town and got laid off 3 times in about 12 years and had a new job within a couple of weeks each time. There simply weren't that many people at my skill level in the town. Low taxes and $500 /month rent. I tucked away a fair amount of cash.

      --
      putting the 'B' in LGBTQ+
    21. Re:Ada Engineer... by AuMatar · · Score: 1

      Its hard to compare car insurance directly since it depends so much on driving history, type of car, and theres a lack of quoted prices. However having lived in 3 states on 2 coasts in the last year, it didn't change much.

      Different calculators give different results, but they converge tot he same numbers within a percent or two, with one bad outlier website. Here's an example of what I could find:

      Seattle vs Quad cities

              Groceries14%more
              Housing48%more
              Utilities17%more
              Transportation8%more
              Health Care23%more

      San Jose (southern silicon valley) vs Quad cities

              Groceries27%more
              Housing154%more
              Utilities48%more
              Transportation0%more
              Health Care21%more

      75K in quad cities is 96K in Seattle or 116K in San Jose. Financially the cost of living argument just doesn't hold up, as you can beat that in Seattle and EASILY beat that in San Jose. The lack of employers pushes down salary more than the cheaper prices make up for. You also generally have to choose between fewer interesting jobs as well, although that doesn't matter to everyone.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    22. Re: Ada Engineer... by TimMD909 · · Score: 1

      I'm in Pittsburgh and it's about $120 for me a month with a brand new Sentra and full coverage through Progressive. I've heard of others around $100 for similar coverage. Anyone from Miami care to share their experience?

    23. Re:Ada Engineer... by Anonymous Coward · · Score: 0

      I'm a developer in Buffalo, NY. Making under $100K, but that is justified by my 6 minute commute, $150k housing vs $500k housing, no overtime or on-call, plenty of time with family. I would never trade this for a $150k job in a big city with a commute.

      I've interviewed at many big companies in big cities that would give me the higher salary, but the perks of being in a small city with much less stress, is so much better. Despite the ridicule Buffalo gets for the 1 week of killer snow a year, the climate for 45 weeks of the year is perfect for raising a family.

    24. Re:Ada Engineer... by Mister+Null · · Score: 1

      Good chunk of change. People forget about tasks such as Data Warehousing which really isn't programming but is heavily technical.

  2. Yes by Anonymous Coward · · Score: 4, Insightful

    Should someone learn a language just because it could come with a six-figure salary, or are there better reasons to learn a particular language and not others?

    Yes.

    1. Re:Yes by xaotikdesigns · · Score: 1

      I was wondering what languages I should learn myself. I have some experience with C++, but that's over 10 years ago, and only as a hobby. I've been thinking about picking it back up, but wasn't sure if there were better options. Since I'm an adult and looking to be able to support my family, money certainly is one of the leading factors as to which language I want to get into.

      --
      XDInd
    2. Re:Yes by thedonger · · Score: 5, Insightful

      I was wondering what languages I should learn myself. I have some experience with C++, but that's over 10 years ago, and only as a hobby. I've been thinking about picking it back up, but wasn't sure if there were better options. Since I'm an adult and looking to be able to support my family, money certainly is one of the leading factors as to which language I want to get into.

      A more relevant question than money may be what interests you? Automation, mobile apps, database, web, etc.? You may have the potential to make more money as a Python programmer, but will a few thousand on average more per year make the job itself more worthwhile? Would, say, only $95k per year to program C++ -- if the specific job was more to your liking -- be a deal breaker?

      Another way to look at it: If you are happier doing the job, might that make you perform better and therefor out-perform the industry average?

      --
      Help fight poverty: Punch a poor person.
    3. Re:Yes by daemonhunter · · Score: 1

      This. Mod parent up.

    4. Re:Yes by JustinKSU · · Score: 1

      I'm a developer and primarily develop in Java. However, I do program in Python from time to time. Without getting into a Holy War about scripting versus strongly typed languages, I will say that I would take less money to program in Java. I just enjoy it more. It probably has more to do with familiarity than Java being "better", but the syntax, third party tools, third party libraries, IDEs, etc. all contribute to the satisfaction of programming in that language.

    5. Re:Yes by darkwing_bmf · · Score: 2

      I'd wager that people who are doing what they're interested in make more anyway because they learn how to do things their uninterested peers don't care about.

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

      Python is like the easiest language ever though. I am teaching myself it now on a RasPI.
      It is alot friendlier to work on then Microsoft's platforms.

    7. Re: Yes by Anonymous Coward · · Score: 1

      Python is best learned because you're an anal retentive asshole and would like to associate with your own kind. No other modern language is anal about indentation, nor has its own RFC and a Nazi-like attitude to creative thinking. "Zehr is only van vay to do it." Oh, and I should also point out it's complete failure to prevent its stated goal: prevent shitty code.

    8. Re:Yes by SQLGuru · · Score: 2

      All of the reasons that you like Java are the very same reasons that I opt to feed my family coding in the various .Net technologies (ASP.NET, C#, Javascript, HTML, etc.). Microsoft is very developer friendly (just as Balmer).....but seriously, Visual Studio is a great IDE.

      But I firmly agree with the aspect of taking less money to do what you love; that's far more important than money. My worst day doing my current job is better than the best day at my previous job.

    9. Re: Yes by Anonymous Coward · · Score: 0

      And what about your complete failure to understand that it's means it is? If you can't grasp that, why should we trust what you think about an entire language?

    10. Re:Yes by Anrego · · Score: 1

      Indeed.

      Plus by having an outside interest, they tend to have a greater domain awareness and are able to talk more intelligently to customers and maybe even contribute business ideas.

    11. Re:Yes by JustinKSU · · Score: 1

      select HAPPINESS from LIFE;

    12. Re:Yes by Anonymous Coward · · Score: 0

      'Some experience' isn't going to cut it any more.

      I recently got told that not only can't I get promoted, but can't even move sideways (wrong sort of degree).

    13. Re: Yes by Anonymous Coward · · Score: 0

      You must be a wannabe Python developer.

    14. Re:Yes by Hognoxious · · Score: 1

      I prefer code I can see, thanks.

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

      SQL screwed up but Linq got that right: from LIFE select HAPPINESS;

    16. Re: Yes by TapeCutter · · Score: 2

      it's complete failure to prevent its stated goal

      Speaking of shitty code, you do realise that expression resolves to "met its goal", right?

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    17. Re:Yes by Hognoxious · · Score: 1

      You might be interested in broom utilisation techniques, but you won't be paid any more than the other street sweepers.

      Note: I have nothing against street sweepers. I quite like them, in a way.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    18. Re: Yes by Hognoxious · · Score: 1

      At least apostrophes are visible.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    19. Re:Yes by HeckRuler · · Score: 1

      I too, am a big fan of Piet. Loved programming in Paint, the RIGHT way!

    20. Re:Yes by Anonymous Coward · · Score: 0

      Scripting and strongly typed are not orthogonal. Python is in fact strongly typed.

      C is weakly typed, because it permits operations on values that aren't well defined.

      Dynamically typed languages tend to have more concise syntax than statically typed languages. Think Haskell, ML, and SmallTalk versus C and Java.
      Python tends to be more concise than Java, which makes sense because Python is dynamically typed. But Scala is statically typed and it's no less concise than Python. (which is why I used the word "tend")

    21. Re:Yes by Jane+Q.+Public · · Score: 1

      Agreed. Some sources are saying Python pays the most today, others say C++, others say Ruby.

      But you have to factor in what you enjoy also. If I had a choice of a $110,000 job writing Python and a $100,000 job writing Ruby, I'd take the Ruby job, because I don't much care for Python, but I really enjoy Ruby.

      It's all a matter of taste. I've only dabbled in Python a little but that's because I don't care for it; a little was plenty for me. And even less so because I also don't care for that "significant whitespace" stuff. In my experience it can be hell when debugging someone else's code: "Did she mean to put this HERE? Or 4 columns to the left?"

    22. Re:Yes by Jane+Q.+Public · · Score: 1

      but the syntax, third party tools, third party libraries, IDEs, etc. all contribute to the satisfaction of programming in that language.

      And all of those same reasons are why I am DIS-satisfied with Java. I did some programming in Java, but it feels too restrictive to me. But I grant you: those restrictions are what enable it to run relatively fast.

      I think Java is a decent language for teaching object-orientated programming techniques. And it forces you to remain in-type, etc. But I've never much cared to work in restrictive environments and I feel that I can program like an adult without Java looking over my shoulder and forcing me to do things its way.

      I like that the entire "Hello World" program can be done in 15 characters. I like that I don't have to "include" libraries that I use damned near every day. Etc.

      But it's all personal preference. The point was that you should do what makes you happy. It's not the same for everybody.

    23. Re:Yes by garyebickford · · Score: 1

      Regardless of other aspects, if you want to learn something new, I would suggest trying one of the functional languages, such as Erlang or Haskell. Not because you actually want to get a job doing that, but because it will rearrange your brain and get you thinking about programs in a different, and I would argue, better way. I have never gotten around to becoming proficient in either one, but the limited effort I made to learn Erlang has greatly changed the way I write in other languages.

      --
      It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
    24. Re:Yes by hermitdev · · Score: 1

      I agree that language comes down to preference and usually comfort level. Having +10 years experience with C++, C# and Python each, while roughly a year experience with Java & Ruby, my languages of choice, in order are: C++, Python, C#, Ruby, Java.

      I particularly like C++ because of it's raw unabashed power. There's very little magic, and nearly every language construct is straight forward and easy to understand. Granted, there are a ton of subtle gotchas an nuances that will trip up the inexperienced and even the veterans. I like Python because the language itself is clean, succinct and terse (but not perl level terse). It also has the benefit of generally being easily readable by non-Python folks. I hear a lot of complaints about the whitespace, but when it comes down to it, it's a non-issue when you're used to it. If you indent your code well and normally in other languages, your code looks the same, but you've saved having to type the braces. One of the other things I like about Python is how well and cleanly it interfaces with C/C++. It's C object model is one of the cleanest and most straight forward I've ever seen. It is a breeze to interface with and expose C/C++ APIs to. Unlike perl with its abomination of a library: XS. I like C# for a lot of the same reasons: mostly clean language, expansive built-in library and removed a lot of the idiocy of Java (exception specs? ew. Double is an object, double is a value, wtf?

      I have very little experience with Ruby, and I'm still learning. It seems a mix of Python & Perl which, I tend to stay towards the more Python-ic approaches in Ruby because they're clearer and make more sense to me.

      As far as looking for a job, money isn't everything. A year ago, I left a job pulling in $155K base with bonuses around $40K per anum doing mostly C++ & Python, which I liked. But after a decade at the company, I'd enough of the stress and the B.S. politics, so I left for a job where I'm just pulling $145K base and little to no bonus doing mostly C#, Java, Ruby and maintaining legacy Python code. And, for now at least, I'm happier. Sure, I miss the money, but I still make enough.

    25. Re:Yes by Jane+Q.+Public · · Score: 1

      Well, my first language on a "serious" computer was Fortran, and not a "modern" version. And I absolutely hated the "this has to go in this column" BS, which may be why I don't care for the whitespace in Python. Used to it or not, I just don't care for it.

      Same with the Haml framework in Ruby, which also uses significant whitespace. I used it enough to become familiar with it. Didn't care for it at all.

    26. Re:Yes by shutdown+-p+now · · Score: 1

      It's worth noting that many high-paying jobs require multiple languages. E.g. when people talk of Python, the ability to write extension modules in C++ is often assumed.

  3. Problem domain, not language by lgw · · Score: 5, Informative

    It's the problem domain, not the language. Front-end webdev seems more concerned with language fashion, and kernel work still scoffs at anything but C, but in-between language doesn't seem to matter that much.

    I've most of my career writing no-UI usermode code, and employers haven't much cared which language I knew. It's sort-of moved from C++/C#/Java being interchangeable to Java/C#/Python, though many hiring managers still seem skeptical of Python as a "real language" (I expect that will change over time).

    It's not your ability to bang out code in any language that will advance your career anyhow - whether tech track or management, it's one set of leadership skills or another that come to matter most.

    --
    Socialism: a lie told by totalitarians and believed by fools.
    1. Re:Problem domain, not language by crgrace · · Score: 5, Insightful

      This is exactly right. I'm a scientist, not a programmer, and we use Python in my group because it is clean, easy, and gets the job done. When we hire people for scientific programming they typically use some mix of Python, C++ (ROOT, anyone?), and Fortran. These engineers are sought-after because they know how to solve tricky large-scale mathematical problems using computers, not because of a specific language.

      So it isn't a matter of "programming language x is valuable", but more a matter of "valuable people use programming language x".

    2. Re:Problem domain, not language by K.+S.+Kyosuke · · Score: 1

      Front-end webdev seems more concerned with language fashion, and kernel work still scoffs at anything but C, but in-between language doesn't seem to matter that much.

      Unless you're doing extremely challenging things...the kind that is often high-risk but also high-reward.

      --
      Ezekiel 23:20
    3. Re:Problem domain, not language by Austerity+Empowers · · Score: 1

      Leadership skills... Sorry I agree with most of what you said except that part. Never has such a word had such an ironic meaning as the word "leadership" in context of the corporation.

    4. Re:Problem domain, not language by halivar · · Score: 2

      Every corporate development team I've been on has had a leader, even if unofficially. Technical leadership is essential for developing talent, authoritatively resolving conflicts, and mentoring new and younger developers. A team without such leadership is dysfunctional from the get-go.

    5. Re:Problem domain, not language by lgw · · Score: 5, Insightful

      Never confuse "leadership" with "management". I'm quite well compensated, and a key reason is my ability to drag projects across the finish line, and the primary obstacles are often managers and petty territorial pissing. Another reason is that I make a concerted effort to raise both the code quality and developer morale around me - often by forcing a change in toolchain or automation through the bureaucracy to address whatever's frustrating developers most day-to-day. Sure, some companies don't value that sort of thing, but plenty do - enough for a solid career.

       

      --
      Socialism: a lie told by totalitarians and believed by fools.
    6. Re:Problem domain, not language by pixelpusher220 · · Score: 1
      from the OP

      context of the corporation

      and your response

      dysfunctional from the get-go

      is basically the same thing :)

      --
      People in cars cause accidents....accidents in cars cause people :-D
    7. Re:Problem domain, not language by lgw · · Score: 1

      There are major software-focused corporations where the software developer culture is not dysfunctional, and it's probably no accident they're many of the industry leaders (outside of gaming, for whatever reason, where the larger the corporation the deeper the circle of Hell for the devs).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    8. Re:Problem domain, not language by Anonymous Coward · · Score: 1

      So if I program in python people will stop calling me retarded? Thanks for the tip. Diving right in.

    9. Re:Problem domain, not language by Anonymous Coward · · Score: 0

      C++ (ROOT, anyone?)

      It's almost bearable if you use pyROOT.

    10. Re:Problem domain, not language by g01d4 · · Score: 4, Informative

      solve tricky large-scale mathematical problems using computers

      With Python many problems have either already been solved or there are several, typically free resources that make solutions easier. I also use Matlab which, far from free, is also supported widely.

    11. Re:Problem domain, not language by twdorris · · Score: 3, Funny

      So if I program in python people will stop calling me retarded?

      Yeah, I'm pretty sure that's exactly what he said. And I kinda doubt people will ever stop calling you retarded.

    12. Re:Problem domain, not language by Anonymous Coward · · Score: 0

      clean, easy, and gets the job done.

      Gets the job done is the best description for why any language is chosen. However, "clean" and "easy" are merely modifiers trying to justify the choice and readily apply to all other possible choices.

    13. Re:Problem domain, not language by Anonymous Coward · · Score: 0

      I'm sorry, but now that I'm a valuable person I don't have time to talk to you. Please refrain from talking to me until you learn python. Thanks.

    14. Re:Problem domain, not language by garyebickford · · Score: 1

      As a long time developer, I would say that nobody should be planning to use C for anything but where it's apparently still considered almost mandatory - kernels, device drivers, maybe compilers & interpreters. Application coders (your "in-between") should almost never waste time and mental effort making up for the lack of memory management and features like bounds checking of more "modern" languages. And I would argue that with most hardware being designed using advanced CAD, the hardware design should be well enough characterized that even device drivers may soon become something that could be almost automatically generated from the hardware specification, eliminating that job.

      * footnote: In the 1960s, Burroughs Corporation used Language-directed design for their computers. For at least some of their designs, the entire system was defined and modeled in a high level software language (typically ALGOL) and internal specification language, and then the hardware/software interface was defined according to performance requirements and the hardware was built to implement the originally software-defined low level functionality.

      --
      It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
    15. Re:Problem domain, not language by narcc · · Score: 1

      To add to your point: You can also justify using the terms "clean" and "easy" to describe Forth.

    16. Re:Problem domain, not language by shutdown+-p+now · · Score: 1

      For scientific and technical computing, data science and machine learning, a good reason to use Python by default is basically because everyone else does. So it's easy to find libraries that already cover your domain, a large and helpful community, and ease of hiring new people.

      Well, and there's IPython.

  4. False advertising by Anonymous Coward · · Score: 5, Insightful

    Not a single programming language makes the best figures in a year for you..but the ability to adapt and learn new technologies as well as completing your task does.

    1. Re:False advertising by Anonymous Coward · · Score: 0, Insightful

      Not a single programming language makes the best figures in a year for you..but the ability to adapt and learn new technologies as well as completing your task does.

      Fuck that! I've spent the better part of two decades not having to learn a new programming language because being an embedded programmer means I get to use the same language now that I did twenty years ago (C, in case anyone is interested) and still command a fucking awe-inspiring salary with no risk of retrenchment. I don't need to adapt to the latest hipster fad (python, ruby, etc) because knowing how the actual fucking hardware works is *my* problem domain, and that isn't going away in my lifetime. While *your* faddish language will command less as time goes by, as it gets replaced by the newest shiny, my skills have only gotten rarer as time went by.

      After all, how many people can my employer find to write their newest OS-less application? Now count how many people have the technical skills to replace *you*. Embedded is where it's at - the problem domain (military, mining, etc) often makes it illegal to outsource due to the high regulation, and even if it didn't the people over in [other side of world] who have the skill and experience in the domain aren't going to work for less than I do. The python/ruby/etc programmers in [other side of world] will know the language just as well as you do and ask a whole lot less than you do. Those "technologies" are easy to pick up, after all. Custom kernels aren't.

    2. Re:False advertising by Anonymous Coward · · Score: 1

      Actually if you are willing to become a gun on one of the older languages that are disappearing you will acutally make a LOT more money. e.g. here where I live the best pay is for Model 204, Ada, Cobol. followed distantly .NET and Java. Scarcity of resources combined with an absolute glut of legacy code means you will have a job for life at rates that more modern language programmers only dream of.

    3. Re:False advertising by Hognoxious · · Score: 1

      Monkey spunk.

      Learning new languages is great and all, but what it means is that you're permanently a n00b.

      And even if they need someone who knows assembler, cobol, D-flat and some other shit that hasn't been invented yet it might get you the gig but they aren't going to pay you four salaries for it.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    4. Re:False advertising by Anonymous Coward · · Score: 0

      become a gun

      huh?

    5. Re:False advertising by Lawrence_Bird · · Score: 3, Insightful

      Contrary to your popular belief, COBOL and Fortran are not disappearing. But they do pay well. They are left out of these type of surveys because they are not sexy and not buzz worthy. There will be millions (billions) of lines of COBOL still in production long after Ruby is dead and buried.

    6. Re:False advertising by BarbaraHudson · · Score: 1

      guru

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  5. Java/Javascript eh? by Anonymous Coward · · Score: 1, Insightful

    Looking at this website I'm not that surprised you think they're the same thing.

    1. Re:Java/Javascript eh? by Bing+Tsher+E · · Score: 1

      Java is the language Minecraft is coded in, and Javascript is what web 'developers' use to jumble the marked up content in HTML and make it slower for the web browser to display.

  6. How much of that is big data-driven? by MikeRT · · Score: 2

    A lot of big data work seems to be done or prototyped with Python. Storm, Spark and others treat Python very well, but Ruby (MRI, not JRuby) gets a lot less love there and big data is a market with big salaries.

    1. Re:How much of that is big data-driven? by Anonymous Coward · · Score: 0

      "Big data"? Careful there. Buzzword or "faddy" projects may pay well in the short-term, but not last long.

      Focus on your career, NOT a particular language. Find an organization and projects that help you learn about lots of different things. Focusing on a language alone is too narrow an approach.
       

    2. Re:How much of that is big data-driven? by GameboyRMH · · Score: 1

      The most lucrative programming career is one where you constantly jump between short-term fads.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    3. Re:How much of that is big data-driven? by pixelpusher220 · · Score: 1

      Or at least enough to know when to stop jumping.

      --
      People in cars cause accidents....accidents in cars cause people :-D
    4. Re:How much of that is big data-driven? by jbarone · · Score: 4, Informative

      Big Data isn't a fad. It's what built Google and Facebook into the companies they are today, and the applications for it are growing rapidly in tons of non-tech fields. Sure it's a buzzword, but a useful one since there wasn't previously a way to describe the various aspects of it succinctly.

    5. Re:How much of that is big data-driven? by Anonymous Coward · · Score: 0

      Most big data centered corporations have farcical market valuations. Facebook is a good example. Their present market valuation is what it should be in 10 years if they continue growing revenue uninterrupted with fixed opex, which is simply irrational. Most other big data companies fare far, far worse. In that its nearly mathematically impossible that they will ever support present market valuations. they simply cannot generate the revenue.

    6. Re:How much of that is big data-driven? by micahraleigh · · Score: 1

      Big data is not a fad. It started slow (might be where you are coming from).

      In my last job search 3 of the places I interviewed were interested in .NET developers with Mongo.

      Mongo because ... big data.

    7. Re:How much of that is big data-driven? by Bing+Tsher+E · · Score: 1

      You would have said that about tulip bulbs, too. And look where we are today. Tulip bulbs are worth a fortune. I sold some of my shares in one to buy my house.

    8. Re:How much of that is big data-driven? by Hognoxious · · Score: 1

      Mongo is webscale. It doesn't use joins.

      https://www.youtube.com/watch?...

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  7. WTF - I know python - where is my $100K? by Anonymous Coward · · Score: 0

    I'm brining this up with my boss right now - I deserve $100K.

  8. Why program in Python by Danathar · · Score: 3, Insightful

    You should program in Python because it's a great language.

    1. Re:Why program in Python by linuxrocks123 · · Score: 3, Informative

      That's not really fair. There are really only two versions: Python 2.7, which is mostly backward compatible earlier Python 2.x, and Python 3.x, which is a new, incompatible language similar in spirit to Python 2. The stated reason for radically breaking compatibility with Python 3 is "because Unicode". I don't much buy that, but whatever. Python 3 uptake has been slow because of the backward incompatibility, but it's clearly the future of the language. At the same time, Python 2.7 is still by no means a bad language, as long as you don't care about Unicode.

      There's also Jython and IronPython, but those aren't official versions of the language.

      --
      vi ~/.emacs # I'm probably going to Hell for this.
    2. Re:Why program in Python by Lodragandraoidh · · Score: 1

      What versions are you using, and what features are broken between them that you are complaining about? 3.0 was clearly a departure from the 2.X versions - and that is well known; if you have code that needs 2.X, you can stick with that until it makes sense to transition/migrate your code to 3.0. Right now I'm using 2.6/2.7 - and it is solid as a rock, so I'm not sure what you're complaining about; no one is forcing you to upgrade versions if you don't want/need to, right?

      --

      Lodragan Draoidh
      The more you explain it, the more I don't understand it. - Mark Twain
    3. Re:Why program in Python by Lodragandraoidh · · Score: 1

      P.S. I would have thought your statements more appropriate to Perl than Python:

      I came to python after using perl for over 10 years - and have never looked back. Hands down it can do everything perl can do - while providing clear, readable code that is consistent from one developer to the next...you have to really dig down into the bowls of python to create anything that would make me scratch my head - whereas that is trivial to accomplish with perl - and was the cause of many headaches over the years when needing to work with multiple developers' code. I debugged my last hanging curly brace/missing semicolon long ago.

      --

      Lodragan Draoidh
      The more you explain it, the more I don't understand it. - Mark Twain
    4. Re:Why program in Python by aaaaaaargh! · · Score: 1

      It's also the slowest language, at least among the common ones. In fact it's so slow that it's even a lousy replacement for Basic, because most Basic implementations are faster. And it's not standardized.

    5. Re:Why program in Python by narcc · · Score: 1

      Within 2.x, you'll find many problems with backward compatibility. 2.3, 2.4, and 2.5 -- 2.6 got a lot of bad press, but it did break less stuff than the previous versions, so I'm excluding it for fairness.

      I'm not sure what you're complaining about; no one is forcing you to upgrade versions if you don't want/need to, right?

      How long will users be able to maintain an installation of, for example, 2.4 if their software depends on it? Will there even be anyone around who remembers that requirement in 5 or 10 years time? What about security issues? 2.2, 2.3, and 2.4 all have notable security issues.

      Software should have a life-span longer than a midge-fly.

    6. Re:Why program in Python by narcc · · Score: 3, Interesting

      Hands down it can do everything perl can do - while providing clear, readable code that is consistent from one developer to the next.

      My experience is different. Dramatically different, actually. I've seen very few examples of readable python, and very little consistency between developers.

      I suppose you're referring to the controversial the white space rules? The killer-feature that can be replicated for any sensible language with a keystroke in virtually every editor? Or, if you prefer: The reason that anonymous functions in Python are crippled?

      I'd even go as far as to say it's white space rules make Python code significantly more difficult to read, as you can't clearly see where blocks begin and end, particularly when the indentation level changes by more than one, which happens quite frequently.

      I debugged my last hanging curly brace/missing semicolon long ago.

      I'll bet it was easier than hunting down the invisible bugs from mixed tabs/spaces or introduced by your editor mangling indentation while moving bits of code around. You know, problems you're actually likely to encounter when using Python, unlike your examples.

    7. Re:Why program in Python by Anonymous Coward · · Score: 2, Insightful

      My experience is different. Dramatically different, actually. I've seen very few examples of readable python, and very little consistency between developers.

      Every language can be made readable or unreadable, which depends on the programmer. Python culture though actively pushes writing in a 'pythonic' way, which mostly boils down to as simple and readable as possible and repeating yourself as little as possible. That results in very readable code. Perl culture on the other hand often actively takes pride in getting as much code as possible into a single line which makes code completely unreadable, or actively trying to make it unreadable. If your developers aren't writing readable code they aren't writing in a Pythonic manner, meaning they aren't Good(tm) python developers.

    8. Re:Why program in Python by tomhath · · Score: 2

      If your only concern is cpu cycles you shouldn't use an interpreted language. As long as the program is fast enough you should be concerned about things like productivity, testability, and maintainability.

    9. Re:Why program in Python by Anonymous Coward · · Score: 0

      Debatable - compare Python and Perl and you'll see they're approximately the same. Sometimes Python is faster than Perl, and sometimes visa versa. In roughly balanced numbers. Comparing a scripted language to C (your link) is comparing apples and oranges.

    10. Re:Why program in Python by Anonymous Coward · · Score: 0

      Sorry but I can't take a language seriously that relies on whitespace the way Python does.

    11. Re:Why program in Python by Just+Some+Guy · · Score: 1

      Whatevs. I co-built a web service on Python that handled 250,000 requests per second with a horizontally scaleable design. We could bump that up to 1,000,000 requests per second by deploying 4 times the servers (which isn't as easy as it sounds because most things don't scale out well like that). I left that company and went to another employer that handled "only" 80,000 requests per second, averaged over a month. If you can ditch the chattiness of HTTP, well, I've written single-threaded UDP servers in Python that could handle 200,000 requests per second per server. How fast do you want it to be?

      Unless you're seeing extremely low numbers or your design requires vertical scaling because it was architected in 1965, choice of language isn't all that important. Ruby is slow, too, but Heroku manages to shovel the data pretty well.

      --
      Dewey, what part of this looks like authorities should be involved?
    12. Re:Why program in Python by Just+Some+Guy · · Score: 1

      I agree, but remember that Python is interpreted in exactly the same way that Java is: both compile high level code to bytecode and run it on virtual machines. PyPy selectively uses LLVM to compile that bytecode into assembler for some enormous performance boosts, much as the Java JIT compiler does.

      --
      Dewey, what part of this looks like authorities should be involved?
    13. Re:Why program in Python by aaaaaaargh! · · Score: 1

      I don't know. While I personally don't really care which programming language is used and have no quirks with programming in Python if I had to (I've done it in the past), it's not easy to see why Python became so popular except for confirming the widely held suspicion that only lousy programming languages can become popular. Even Ada has higher productivity, testability and maintainability, and it's as fast as C.

      To make things worse, Python is also slower than Ruby, Scala, Clojure, Racket, Common Lisp (sbcl), Rust, FreePascal, PHP, ....

      Also, explain to me why anyone should use an interpreted programming language when even CommonLisp was already compiled in the 80s?

    14. Re:Why program in Python by Anonymous Coward · · Score: 0

      Don't forget Stackless Python. Really neat version that is capable of doing hundreds of thousands of miniscripts internally.

      Its what they use for Eve Online's Core.

    15. Re:Why program in Python by goose-incarnated · · Score: 1

      As a roundabout answer to your final question... when there is a "technology" (I use that word loosely when describing computer languages) that takes all of 5 minutes to grasp then you are going to get a lot of practitioners of that tech being the type who picked it up in 5 minutes or less. Had they spent the requisite number of years using different idioms in different languages in different industries you can be sure that they would have firmly placed python back down after playing with it for a few weeks.

      Proponents think python is great because they're comparing it to PHP and/or Perl. They think it's great because, in a tragic case of hilarity, jumping into code with minimal design is what python is great at. Had they done some design and/or architecture upfront their Java/C++/Ada/etc project would have taken the same time as their python one.

      I've never fully understood the whole "check types at runtime" thing. If you're a diligent programmer in python/php/javascript/etc then, in each function you write, you're going to double-check that the type passed in is correct, anyway. The only reason that python/php/javascript/etc code appears to be smaller for the same task in java/C++/Ada/etc is because the former omits all error-checking.

      For dynamic languages I still prefer Common Lisp, and that's only because the error signalling mechanism is so much superior to the exception-handling mechanism that you can actually get away with inferred types. Exceptions are one of the worst things to have become common - an "error" is almost always only caught outside the scope that it occurred in, hence the stack has already been unwound and thus there is no sane way to fix the error and retry the operation that caused the exception. Who in their right mind actually thought that this was a good idea? Gosling, when working on Java, must have been on serious meds to forget all he learned when writing MockLisp. To add to this comedy of errors, Guy Steele was only called in after Java was implemented to write the Java spec. Had they called him in a mere 24 months prior to that we may never have had to endure the horrible wreck that is the Exception ...

      --
      I'm a minority race. Save your vitriol for white people.
    16. Re:Why program in Python by Waffle+Iron · · Score: 1

      Would you care to enlighten us with an example of a popular real-world language that has not had problems with backwards compatiblity?

    17. Re:Why program in Python by Anonymous Coward · · Score: 0

      REALLY? I haven't really come across much python that I couldn't figure out in 2 passes of reading. Perl.... my OWN code has been difficult to read a year later. And the ones that are older... I don't even try, I just rewrite it in python. There isn't much Perl code out that that I understand with just a simple quick read. Python... I understand a lot of it as quickly as I understand kids book. I understand C & Java well too, but Perl and C++... god... I want to just rewrite the code in somethng else based on the API description and use the free time to go hunt down the developer.

    18. Re:Why program in Python by Just+Some+Guy · · Score: 4, Insightful

      They think it's great because, in a tragic case of hilarity, jumping into code with minimal design is what python is great at.

      We think it's great because, among other things, it has first-class functions and a very high code:boilerplate ratio. This lets us write very concise, readable, and maintainable code.

      If you're a diligent programmer in python/php/javascript/etc then, in each function you write, you're going to double-check that the type passed in is correct, anyway.

      Eww, no. I've never seen good Python code that asserts types because it's not the idiom for you to care. For instance, suppose you write a function like:

      def get_contents_of(obj): return obj.read()

      In this case, obj might be a file, or a web request, or a string (via the StringIO interface). Who knows? Who cares? As long as obj.read returns something, it works. BTW, this is supremely nice for unit testing when you don't really want to hit an SQL server 1,000 times in a tight loop.

      Now, you could write something like assert isinstance(obj, file) to guarantee that you're only dealing with file objects. Of course, that lays waste to the whole concept of duck typing and people will laugh at you for doing it. So dropping that bad idea, you could write assert hasattr(obj, 'read') to ensure that the object has the needed methods. But why? Python gives you that check for free when you try to call the method. Let it do the heavy lifting and concentrate on the parts of the problem you actually care about.

      Exceptions are one of the worst things to have become common - an "error" is almost always only caught outside the scope that it occurred in, hence the stack has already been unwound and thus there is no sane way to fix the error and retry the operation that caused the exception.

      Yeah, that would be terrible. You almost never use them in Python like that, partially because Python tends to have a vastly shallower call stack than, say, Java (largely because you don't need 10 layers of abstraction between bits of code thanks to the duck typing we just talked about).

      I think it boils down to you not knowing idiomatic Python. That's OK. I'm ignorant about lots of things, too. But I think you'd find that you enjoy it more if you stop trying to write C or Java in Python, because that almost never works out well.

      --
      Dewey, what part of this looks like authorities should be involved?
    19. Re:Why program in Python by KagatoLNX · · Score: 1

      A few notes:

      Python's newer abstract base classes allow you to make types that specify the presence of abstract methods and properties and you can use isinstance(thing, base_class) to achieve something similar (and thereby making handling types more familiar to foreigners)

      With respect to Java and call stacks; Java has no easy way to dispatch to a function by name. You either need to make a class hierarchy so that you can use virtual call dispatch; or you need an if-tree (which is ugly but underappreciated). I've seen a few Java brains melt when I give them something like:

              cast_spell[spell_type](spell_data, casting_context)

      Of course, I could just make a base class for spells and grow a giant, sparse API; but the benefit of playing the default-implementation / function overriding game is suboptimal. At the end of the day, the class hierarchy is just a data structure to determine how different "types" of functions get dispatched. As it happens, it spreads things out in a way that makes them hard to visualize. It often forces me to shadow unrelated sections of other APIs that grow on the same base-class.

      In short, it's a crappy data structure for the purpose and it makes a pain out of gathering the knowledge to know how that dispatch happens. Sure, the code is "type-correct", but that doesn't say very much about being logically correct. As it happens, type errors are easy errors--but figuring out how the class hierarchy isn't serving your logical needs is *not* an easy error.

      Don't get me wrong, I'm not fundamentally opposed to a good type system. First-class functions in Haskell or the like could handle this with type-safety. However, our industry just isn't ready for all of the pipes, beards, and sweaters. So, given the choice between Python and Java, I pick the one that give me methods for dynamic dispatch that don't abuse an already incredibly limited inheritance mechanism. I'll take the language that allows extensible, generic function application instead of getting it as a side-effect of their implementation of an already stunted type-system.

      --
      I think Mauve has the most RAM. --PHB (Dilbert Comic)
    20. Re:Why program in Python by Anonymous Coward · · Score: 0

      Are the Python guys really that proud to be more readable than Perl? That is setting the bar really low...

    21. Re:Why program in Python by Anonymous Coward · · Score: 0

      PyPy selectively uses LLVM

      Actually you are thinking of Unladen Swallow, the canceled project. They canceled it because they weren't getting the performance boost they for which they had hoped.

      http://www.infoq.com/news/2011/03/unladen-swallow

      PyPy uses a JIT.

      http://pypy.org/features.html

      PyPy is a whole new thing, Python written in Python. Their idea was to write a really smart optimizer by taking advantage of the powerful features of a high-level language (Python).

    22. Re:Why program in Python by Jeremi · · Score: 1

      Also, explain to me why anyone should use an interpreted programming language when even CommonLisp was already compiled in the 80s?

      In a large number of scenarios, the limiting factor is the skill of the (often easily-intimidated newbie) programmer, not the speed of the resulting program's execution.

      In those cases, a "slow" language that is easy to learn and use (e.g. Python) typically produces a better result than a really fast/powerful language that isn't as newbie-friendly. Computers are fast enough these days that for a lot of things, a slow/inefficient program is nevertheless more than adequate to the task at hand.

      In particular, I think the ability to run the Python interpreter and enter python code into it interactively is an easy and convenient way for people to experiment and learn how Python works. Compiled languages make that harder to do, as you have to enter all your changes at once, then recompile, rather than being able to type in a single line and get an instant result.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    23. Re:Why program in Python by ultranova · · Score: 1

      As long as the program is fast enough you should be concerned about things like productivity, testability, and maintainability.

      And thus use a language with compile-time type checking.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    24. Re:Why program in Python by narcc · · Score: 1

      Not with vague criteria like 'popular', which can mean whatever you feel best suits your interests. I can, however, point out numerous languages with far fewer problems with backward compatibility than Python. For fun, I'll use only languages that you're likely to despise: VBA, PHP, JavaScript, and Perl (even the infamous Perl 6 is slated to have a compatibility mode for Perl 5 code), just to name a few.

      In each of those examples, you'll find that most, if not all, untouched 10-year-old code works in the latest releases. (Yes, even PHP, which has been known to give users a decade or more to deal with depreciated features.)

    25. Re:Why program in Python by Anonymous Coward · · Score: 0

      As someone who knew Perl for decades and switched Python recently, I immediately made a leap forward both in readability and in maintenability of my code. My Perl projects now look like clusterfuck compared to everything I have done after the switch.

      Although I do not make up a statistically significant sample, my bias was towards Perl as something I knew much better, yet large Perl projects seem to deteriorate into nightmare rather quickly.

      hunting down the invisible bugs from mixed tabs/spaces

      A common misconseption of programmers who are used to relying on curly braces. Having completed a few large projects in Python, I have not had a single issue of the kind. You do need to use a python-optimised editor; Notepad is a big no-no.

    26. Re:Why program in Python by goose-incarnated · · Score: 1

      They think it's great because, in a tragic case of hilarity, jumping into code with minimal design is what python is great at.

      We think it's great because, among other things, it has first-class functions and a very high code:boilerplate ratio. This lets us write very concise, readable, and maintainable code.

      That's the tragic case of hilarity I was talking about. You do realise that you're talking about a language that takes the law of least astonishment and throws it out the window? There are too many exceptions to the rule in Python, leaving most people writing things that fail and silently corrupt data, or fail and displays an incomprehensible message to the user. There are too many leaky abstractions, too many unexpected surprises, too many exceptions to the rule. All those things are bad, and python has them all in spades.

      If you're a diligent programmer in python/php/javascript/etc then, in each function you write, you're going to double-check that the type passed in is correct, anyway.

      Eww, no. I've never seen good Python code that asserts types because it's not the idiom for you to care. For instance, suppose you write a function like:

      def get_contents_of(obj): return obj.read()

      In this case, obj might be a file, or a web request, or a string (via the StringIO interface). Who knows? Who cares?

      def foo (a, b) : return a/b * 100; That will eventually fail unless you put in checks to make sure that arguments are what you expect. This is what I meant by hilarious tragedy - python/javascript/etc programmers rely on the caller to read the code before calling the function. You need to know what each function takes and heaven forbid you forget - the damn thing will only fail at runtime, or worse, silently corrupt data without anyone realising it.

      Python gives you that check for free when you try to call the method. Let it do the heavy lifting and concentrate on the parts of the problem you actually care about.

      Well, except that it is you, the programmer, who is doing the heavy lifting. You have to make sure everything is specified, the language won't help you.

      Exceptions are one of the worst things to have become common - an "error" is almost always only caught outside the scope that it occurred in, hence the stack has already been unwound and thus there is no sane way to fix the error and retry the operation that caused the exception.

      Yeah, that would be terrible. You almost never use them in Python like that,

      Okay, then how doyou use them? Show me one way for a library function to throw an exception for a reason that is fixed by the caller so that the library can retry the line that threw the exception?

      I think it boils down to you not knowing idiomatic Python.

      Unfortunately I've had to do lots of work in python over the years, both maintaining others' code and writing new code. The reason I know all these nasty-will-bite-you things is because I've run into them in various different programmers code, in various different companies. The problem with python is it's easy to pick up in a few minutes, but all those exceptions to the rule makes it hard to even guess what something might do at runtime. The most frequent problem I've seen is the insane way scope changes in a single line of code when a read of a variable is changed to a write of the same variable.

      Changing "var_b = var_a" into "var_a = var_b" should not change the scope of either variable, but in python it does, and it is considered "pythonic". Other languages consider such a thing to be madness, but in python it is considered to be idiomatic rather than just idiotic.

      That's OK. I'm ignorant about lots of things, too. But I think you'd find tha

      --
      I'm a minority race. Save your vitriol for white people.
    27. Re:Why program in Python by Slashdot+Parent · · Score: 1

      The last time I looked at learning Python, it was clear that Python 3 was the way of the future, but Django only ran on Python 2. Soooo.... I just kind of gave up on that one.

      Python is still on my list of languages to learn, but it's more on the back burner until Python 2 is but a distant memory.

      The stated reason for radically breaking compatibility with Python 3 is "because Unicode".

      This is obviously silly. Look at what Oracle did with Java 8. Java 8 is a huge upgrade to the language, but it doesn't break a single line of Java 7 code, despite many JDK interfaces changing. I know, I know, everyone hates Oracle around here, but at least they recognize breaking backward-compatibility is probably a bad idea.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    28. Re:Why program in Python by linuxrocks123 · · Score: 1

      Well, 100% backward incompatibility isn't always possible, but I think the gratuitous incompatibility in Python 3 is bad. Example: making print a function instead of a special statement. Yes, okay, maybe that would have made more sense 20 years ago when you designed the language. No disagreement, necessarily. But probably a million people or more are now used to typing "print whatever" into the Python interpreter during debugging and when making console Python applications, and inconveniencing all of those people because you think "print(whatever)" is more aesthetically pleasing is just plain inconsiderate.

      My (mostly uninformed) opinion is they should have done whatever they needed to do to get Unicode working with minimal drama ... and then stopped there, at least as far as backward-incompatible changes go.

      But, hey, they did it, and many people actually like what they did. Including, it looks like, the Django people. You might want to read this if you're curious what some big-name porters think of Python 3 (the attitude seems mostly positive).

      --
      vi ~/.emacs # I'm probably going to Hell for this.
    29. Re:Why program in Python by Slashdot+Parent · · Score: 1

      I'm not saying that they shouldn't have improved the language--I'm just saying that they should have made the upgrade path easier. This is coming from the point of view of someone who wanted to learn Python, but decided against it because why should I learn a language that I can't use right away?

      This was a few years ago at this point, but my position then was that I wasn't going to learn Python 2 for the obvious reason that it was deprecated. But why should I learn Python 3 if I can't even use Django? So I lost interest and learned something else instead (I forget what. Solr, maybe?)

      I'm sure that the situation is way better right now that the Python community has had a few years to evolve to Python 3. But now I have a backlog of new things to learn, so my guess is that one day I'll need numPy and I'll probably give Python another look, but that state of flux was what turned me off from learning the language originally.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    30. Re:Why program in Python by Anonymous Coward · · Score: 0

      Explain "as fast as C," because the way I see it, C doesn't have a "speed." You can write efficient code that runs fast, but only if you know what you're doing. It isn't fast just by it's nature. An experienced Python dev could probably write code that runs "faster" than code written in C by an inexperienced developer. Relativity, man.

    31. Re:Why program in Python by Anonymous Coward · · Score: 0

      > Explain "as fast as C," because the way I see it, C doesn't have a "speed."

      It's true, languages don't inherently have speeds, but C programs typically run faster because 1) compiled, not interpreted, 2) mature compilers 3) lean language design with low environment overhead and 4) minimal abstraction.

      What it boils down to is, C doesn't 'help' you with lots of facilities that require management, you have to implement things like linked lists by hand. They use direct pointers instead of brokering references to objects with a runtime environment, you have to manually dispose of memory (no garbage collection), so you have to find the most efficient solution yourself. Then the compiler produces efficient code, and optimizes even that. It's kind of a "no bullshit" language.

      Yes, you can write slow code in C, many have. A better algorithm is your first line of optimization. C rewards programmers who know what they're doing.

    32. Re:Why program in Python by Anonymous Coward · · Score: 0

      C rewards programmers who know what they're doing.

      You said all that only to end up reinforcing what I had already written:

      You can write efficient code that runs fast, but only if you know what you're doing

    33. Re:Why program in Python by Anonymous Coward · · Score: 0

      Yep, I wasn't disagreeing, just attempting to give some reasons why people talk about C being "fast."

  9. Which job website pays the best? by sdguero · · Score: 5, Funny

    I read that LinkedIn is a job website that will get you more than $100,000 per year. Meanwhile, LinkedIN was the one programming language to appear on LinkedIn's recent list of the fastest-growing tech skills, which is assembled from mentions in LinkedIn job postings.

    Fuuuuuck Yoooooouuuuuuuu Dice!

    1. Re:Which job website pays the best? by halivar · · Score: 1

      Nerval's Lobster strikes again with another Dicevertisement. For those who don't know, Nerval's Lobster is the unofficially official Dice astroturf account. And everything he posts is drivel.

    2. Re:Which job website pays the best? by Anonymous Coward · · Score: 0

      I just felt a strange disturbance in the Force, as if thousands of clueless HR people suddenly wanted to interview you.

  10. MATLAB by Anonymous Coward · · Score: 1

    Python? That's interesting - just a few months ago, a different slashdot article said that MATLAB is the one language you need on your resume (if you want a job at Google). It's nowhere to be found on this particular, list however!

    1. Re:MATLAB by Anonymous Coward · · Score: 0

      The jobs the pay the highest != the jobs that are most numerous

    2. Re:MATLAB by pixelpusher220 · · Score: 1

      exactly.

      --
      People in cars cause accidents....accidents in cars cause people :-D
    3. Re:MATLAB by shutdown+-p+now · · Score: 1

      These are not contradictory claims. But it should be noted that the current trend is people going from MATLAB to Python for the kind of things that both are good at. It was initially probably driven mostly by Python being free, but now it has a kind of an avalanche effect in that the more people switch, the bigger the Python community is, the more libraries, docs etc are, and the better it becomes - and hence more enticing to switch for the remaining folk.

  11. Java and JavaScript are different languages by Anonymous Coward · · Score: 1, Insightful

    RedMonk produced its latest ranking of the most-used languages, and Java/JavaScript topped the list

    Of course it did, if you combine the results of two popular languages it makes sense that the combined result might outshine the rest. But what about the results for Java and JavaScript as two separate languages, which they are? The link to the actual rankings was not provided in the summary... I can only hope that it's just written poorly and both tied as #1..?

    Also, cost of living is vastly different around the world and the US. It does not appear to have been corrected for in this study, making it pretty much useless IMO.

  12. C pays well. by Snufu · · Score: 1

    But only in coins.

    1. Re:C pays well. by __aaclcg7560 · · Score: 1

      Bitcoins. Not a penny less.

  13. What does learning a language really mean? by Jackazz · · Score: 2
    What metric should we use to say we've "learned a language"? At what point can you put in on your resume? Do you have to take a college course? Publish an application? Read a book?

    Sometimes, the more you learn, the more you understand you are not an expert.

    1. Re:What does learning a language really mean? by Anonymous Coward · · Score: 2, Insightful

      That would be the ability to not look like a fool when your knowledge of the language is challenged in an interview.

    2. Re:What does learning a language really mean? by Anonymous Coward · · Score: 0

      Exactly. If you write in Python daily and are solving interesting problems with it -- you would be able to handle an interview with no sweat. If you've only written a few random scripts -- that really enough to put it on the resume. I give a lot of interviews and this is one major issue I see. Writing "hello word" != Python experience.

    3. Re:What does learning a language really mean? by Bruco · · Score: 1

      Ain't that the truth. I'm a network/infrastructure goon, and I use Python all the time to automate things, sort mountains of data, etc. etc. Sometimes when I'm stuck on how to do something I'll look it up and find myself staring at code on Stack Overflow that is completely alien to me. I suppose that sticks me in the "hobbyist" category... but, I usually end up learning something, so there's that.

    4. Re:What does learning a language really mean? by allquixotic · · Score: 1

      That's just passing the buck, not really answering the question. I can imagine three completely different interviews purportedly about, say, "Ruby": one that a college kid could pass by going through a Ruby tutorial the night before; one that would require the same kid to take a Programming Languages class with a 4-week section on Ruby to be able to pass; and one that would unambiguously flunk everyone except Masahiro Matsumoto. There is an entire spectrum of different difficulties of interview in between these three examples, too.

      The OP asked a philosophical question, and you provided a concrete answer that, while technically correct, does not actually get us any closer to an understanding of the issue. A more reasoned answer would go something like this: if you're being hired with the intent of writing Ruby code as a significant part, or the entirety of your job description, the interviewer ought to ask questions that are challenging enough that, if you can answer them fluently and capably, the implied skills you must possess in order to do so would be more than sufficient for you to excel at the type of work being performed. Even within the industry of coding shops, there is an enormous difference between writing Ruby for basic office automation tools (say, an automatic timesheet filler using Selenium) and writing Ruby with intense domain knowledge needed in a challenging area, like physics, quantum computing, higher mathematics, actuarial science, etc.

      So the two axes of programming language competency are: domain knowledge (can you comprehend the subject matter enough to develop the algorithms/formulae/logic flows for the software you're writing?), and knowledge of the language and its libraries, including third-party libraries (are you able to use the facilities of the language itself or any third-party components in order to implement your solution?). Proper competency must be established on BOTH axes in order to determine if you're suitable for a job.

      In the absolutely general, context-free case of determining whether you are "competent" or "good" or "learned" with a language, I don't think it's possible to answer in any meaningful way. One's competency must always be bounded by a realistic look at what exactly the work to be perfomed entails.

    5. Re:What does learning a language really mean? by Opportunist · · Score: 1

      Well, then the correct answer is actually what the GP said: You're "good enough" in a language when your command of it is sufficient to make it past the interview.

      At what level can you say the same about any foreign (human) language? When can I say "I speak English"? When I can make Shakespeare look like he needs a thesaurus to compete with me, or is it enough to read enough LOLcats and mimic their expression? Same deal, you're good enough when you're good enough.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  14. C++/Ruby hotness by NonUniqueNickname · · Score: 4, Funny

    and Java/JavaScript topped the list, followed by PHP, Python, C#, and C++/Ruby.

    C/C++ is old, C#/C++ is tired, but C++/Ruby is so hot right now.

    1. Re:C++/Ruby hotness by Anonymous Coward · · Score: 0

      We call it Ruby++. It's all the rage!

    2. Re:C++/Ruby hotness by Slashdot+Parent · · Score: 1

      C/C++ is old

      Whenever I see that on a resume when I'm doing an interview, my first technical question is, "What's the difference between C and C++?" 9 times out of 10, the applicant has no clue whatsoever.

      Hint to job applicants: if the extent of your experience is that you broke your brain on a few curly braces for a semester in college, don't put "C/C++" on your resume.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    3. Re:C++/Ruby hotness by Anonymous Coward · · Score: 0

      > my first technical question is, "What's the difference between C and C++?"

      "C++" is semantically the same as "C = C + 1," so clearly the difference between C and C++ is 1. :)

  15. Not COBOL? by crgrace · · Score: 1

    I thought maintaining legacy systems using COBOL was the road to riches. Is that a myth?

    1. Re:Not COBOL? by blueshift_1 · · Score: 2

      The problem with COBOL is that while there is definitely need, it's still a niche market. I feel like this article was more focused on what popular languages could make you money. The reason COBOL is valuable is because it isn't popular.

    2. Re:Not COBOL? by phantomfive · · Score: 1

      It's hard to say. Look at the data they used.

      The data is compiled from job listings. How often do job listings show salaries? Not very often. The ones that do tend to be government jobs or fake job postings trying to fulfill the requirement for an H1 visa.

      Furthermore, the salaries listed are crap. If you look here, even developers in the midwest make more than what they are listing.

      To add randomness to this post, someone told me about a COBOL project that was the best he'd ever worked on. It had build automation in the 80s, was cleanly organized, easy to find what needed to be changed, and small changes required small effort. Further evidence that the language doesn't matter as much as the people using it.

      I would love to be working on a COBOL code base like that right now, instead of the 'modern' crap pile I'm currently fixing.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Not COBOL? by martiniturbide · · Score: 1

      There was this related post on Slashdot on Sep 2014. College Students: Want To Earn More? Take a COBOL Class - http://developers.slashdot.org...

    4. Re:Not COBOL? by Anonymous Coward · · Score: 0

      It is, many Cobol programmers are retiring while the need to maintain that legacy code still exists. Where I work they struggle to find appropriately skilled Cobol contractors and they all get a huge premium rate. Many have been here as contractors for 20+ years, they get the best of both worlds, high rates and job security.

  16. The best reasons to learn Python by Marginal+Coward · · Score: 2

    For the best reasons to learn Python, see The Zen of Python. If Python happens to pay more, that's just gravy.

    That said, it seems hard to believe that people would get paid extra to work in such a pleasant language. If so, maybe Adam Smith had it all wrong when he said:

    First, The wages of labour vary with the ease or hardship, the cleanliness or dirtiness, the honourableness or dishonourableness of the employment...The most detestable of all employments, that of public executioner, is, in proportion to the quantity of work done, better paid than any common trade whatever.

    Perhaps florists soon will be making more money than plumbers. Which would really stink.

    1. Re:The best reasons to learn Python by goose-incarnated · · Score: 1

      For the best reasons to learn Python, see The Zen of Python. If Python happens to pay more, that's just gravy.

      That said, it seems hard to believe that people would get paid extra to work in such a pleasant language. If so, maybe Adam Smith had it all wrong when he said:

      First, The wages of labour vary with the ease or hardship, the cleanliness or dirtiness, the honourableness or dishonourableness of the employment...The most detestable of all employments, that of public executioner, is, in proportion to the quantity of work done, better paid than any common trade whatever.

      Perhaps florists soon will be making more money than plumbers. Which would really stink.

      I see no beauty, simplicity or elegance in the pythonic way variables are handled when shadowed (for example, global scope). You can read them BUT writing them fails silently! Explain how this is intuitive in any way.

      --
      I'm a minority race. Save your vitriol for white people.
    2. Re:The best reasons to learn Python by Gorobei · · Score: 1

      For the best reasons to learn Python, see The Zen of Python. If Python happens to pay more, that's just gravy.

      That said, it seems hard to believe that people would get paid extra to work in such a pleasant language. If so, maybe Adam Smith had it all wrong when he said:

      First, The wages of labour vary with the ease or hardship, the cleanliness or dirtiness, the honourableness or dishonourableness of the employment...The most detestable of all employments, that of public executioner, is, in proportion to the quantity of work done, better paid than any common trade whatever.

      Read on a bit more. By paragraph 10 he points to increased wages for jobs requiring skill, by paragraph 20 he's getting into jobs requiring trust.

      Pity he living too soon to comment on large software project laborers.

    3. Re:The best reasons to learn Python by Marginal+Coward · · Score: 1

      Read on a bit more. By paragraph 10 he points to increased wages for jobs requiring skill, by paragraph 20 he's getting into jobs requiring trust.

      What skill? I've been writing Python for over 10 years. Sure, it took a little while to learn to think Pythonically, but the main selling point is that Python is truly easy. Oh, except for those folks who can't live without braces. And compared to regular dentists, don't orthodontists get paid extra to use braces?...

  17. Perl! by MagickalMyst · · Score: 3, Interesting

    No, I probably won't make $100k/year coding in Perl but I don't care.

    It's not about the money. It's about the love.

    Not as tedious as C++; not as clunky as Java; not as lame as VB.

    Scoff all you want! I feel blessed while coding in Perl.

    Thanks Larry & friends!

    --
    Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
    1. Re:Perl! by Anonymous Coward · · Score: 0

      You. I like you.

    2. Re:Perl! by Anonymous Coward · · Score: 0

      You. I hate you.

    3. Re:Perl! by MagickalMyst · · Score: 1

      Thank you. I like you too. :)

      (That is, as long as you are not the heterophobic troll who has been spamming Slashdot lately).

      --
      Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
    4. Re:Perl! by Hohlraum · · Score: 1

      I love Perl as well (and I make well over that). But I'll be honest with you. After 20+ years of programming in Perl I love programming in Python a whole lot more.

    5. Re:Perl! by MagickalMyst · · Score: 1

      Interesting.

      --
      Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
    6. Re:Perl! by Anonymous Coward · · Score: 0

      I like your blessed reference :)

    7. Re:Perl! by wiredlogic · · Score: 1, Flamebait

      The christian propaganda everywhere is part of why Perl has been abandoned.

      --
      I am becoming gerund, destroyer of verbs.
    8. Re:Perl! by MagickalMyst · · Score: 1

      "Blessing" is not limited to Christianity.

      And Perl has not been abandoned - not by me, and not by at least 2 other people.

      --
      Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
    9. Re:Perl! by Anonymous Coward · · Score: 0

      I know an engineer at Apple who is making 6 figures writing Perl for Apple's automation work llines.

    10. Re:Perl! by John+Bokma · · Score: 1

      Oh, huh, bless has never bothered me much. And that's the only Christian propaganda I can think of.

    11. Re:Perl! by UPi · · Score: 2

      I shall replace you with a perl script!! A very simple one will do.. :)

    12. Re:Perl! by Anonymous Coward · · Score: 0

      Perl is indeed a lot better than its reputation. Perhaps Larry should shave off his moustache already.

      I just wrote a small forty-line script an hour ago. Perl has become my default language for some reason. Haven't really written anything in other languages in years.

      Oh, hell. A small diversion. Since I'm in a place where people seem to hate Perl, I'll give them a bait. Here's some code I wrote to help a forum poster. I'm quite proud of it. Please tell me how indecipherable and ugly it (and by extension, Perl) looks.

      The lispy way of writing (map { block } @list as opposed to procedural for (@list) { block } or OO @list.each { block }) and chaining functions/transformations feels like a natural way to express many things, even though it's in 'reverse' order. Really strange.

      Most of all I think I like the whole list/array distinction. Combined with the lispy functions, it's really handy sometimes to smash multiple arrays into an on-the-fly list to throw it into a map or something.

      I'm also fond of Ruby and C. Java's verbosity and forced OO is painful. Can't understand Python for some reason. People say Python's 'like natural language' but I still can't decipher it. Must be Ruby's fault. Ruby and Python are said to be mutually exclusive -- once you learn one, you can't bring yourself to learn the other, since they feel so similar. So I've been indoctrinated with Ruby. (This happened before I became aware of Rails, btw.)

    13. Re:Perl! by angel'o'sphere · · Score: 1

      Actually I remember a C++ persistence 'framework' where the 'read' method used an other function/method, called 'bless' to restore the vtable pointers.
      And yes, that name was inspired by Perl.
      Hm, not sure if I 'invented/reused' that name myself ... and the original name (in the C++ framework) was different.
      But a friend of mine, an Australian, found the name 'bless' for that function hilarious :)

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

      The readability of C++ template stuff and the performance of JS. What's not to like!

    15. Re:Perl! by garyebickford · · Score: 1

      Funny, back in the 1990s I purposely didn't learn Perl beyond the minimal amount I needed to maintain an early web app. To me it all looked like somebody sneezed on the page. But in the last 1/2 decade or so I've become pretty proficient at PCRE - Perl-Compatible Regular Expressions, the very essence of page-sneezing.

      I once idly wondered how hard it would be to build a parser/compiler for another language using PCRE. PCRE-Perl? PCRE-PHP? PCRE-Ruby? Of course, PCRE-C could be the first one, and the others just built running GCC through PCRE-C. I'm a sick puppy! :P

      --
      It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
    16. Re:Perl! by Anonymous Coward · · Score: 0

      You're welcome to comment on my code, you silly Perl-hater.

    17. Re:Perl! by Anonymous Coward · · Score: 0

      To be fair, almost all web apps look like 'somebody sneezed on the page'. People who write them tend to write dumb and dirty code. Code embedded in a HTML page (or a HTML page embedded in code) ain't pretty either. Templates and the MVC pattern help, but even those require quite a bit of self-discipline to keep things separated.

    18. Re:Perl! by HeckRuler · · Score: 1

      I assumed you were referring to Nethack's blessed/cursed system.

  18. from Economics-land by cellocgw · · Score: 2

    "Past performance is no guarantee of future returns."

    Learn as many languages as you can/want and try to find employers who recognize that adaptibility is much more valuable than existing capability with a specific tool.

    Now where are all those $250k jobs requiring R ? :-)

    --
    https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
  19. Python is so bad .... by postmortem · · Score: 0

    Companies have to pay you $100k just so you would accept to work in it.

  20. Should I learn Imperial or Metric for max $$$? by Anonymous Coward · · Score: 1

    I hear that most fields use metric, but some really high-paying ones like petroleum engineering use imperial units. Should I focus my studies on imperial units if I want to make more money?

    The truth is, until you have learned enough that the choice of units or choice of language is completely fucking irrelevant to the task at hand, then you aren't going to add much value to the process. Mastering one language qualifies you for the programming equivalent of the secretary pool.

    1. Re:Should I learn Imperial or Metric for max $$$? by rasmusbr · · Score: 1

      I hear that most fields use metric, but some really high-paying ones like petroleum engineering use imperial units. Should I focus my studies on imperial units if I want to make more money?

      Whether you use metric or Imperial measurements is really a minor side issue.

      The important thing is that you use a good steel ruler and compasses. None of that plastic crap.

    2. Re:Should I learn Imperial or Metric for max $$$? by garyebickford · · Score: 1

      ... and slide rules! And use Mayan or Aztec measurements. Although Register Standards would also be acceptable. (actual data starts at about 1:45).

      --
      It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
  21. Not entirely true by Anonymous Coward · · Score: 0

    Objective-C is no longer attractive, but it's Swift which will earn you most, in the long run. You should learn Swift language and not Objective-C even there are no job ads for Swift yet.

  22. C/C++ at $160k/yr by CQDX · · Score: 4, Interesting

    But it's not the language, it's the domain knowledge I bring to the table. I was hired to write embedded software for scientific instruments. As a former research scientist and current software engineer I can understand the problem, the solutions, and write code to do what the device needs to do. C/C++ just happens to be the tool I use to build the device. Python, Java, and so on just wouldn't cut it.

    1. Re:C/C++ at $160k/yr by angel'o'sphere · · Score: 1

      So:
      device.turn(degrees(90)) .move(mm(30),NORTH) .measure(seconds(0.01))

      Which language is that? Phython? C++? C? Java?

      A language "does not cut it" ... how retarded.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:C/C++ at $160k/yr by Anonymous Coward · · Score: 0

      While you can replace language garbage collectors with a custom versions, most developers feel it's simpler to pick a language without one. A lot of embedded systems are real-time systems. Some real-time systems don't play well with random interruptions. Low level code should be done with a low-level language.

      I read scientific instruments to mean things like sensors, not robot controllers. If your range finder suddenly pauses to recycle some object memory, that can be a huge deal (though the system should be able to handle a sensor giving bad data anyway...). Alternatively if your robot pauses mid stride and thus falls over, that's a big deal too.

      The parent is another close-minded developer that doesn't cut it. Whatever happened to critical thinking? I'm a desktop GUI developer (we're a dying breed :( ), yet I can still think of concerns embedded developers might face.

    3. Re:C/C++ at $160k/yr by Jeremi · · Score: 2

      Which language is that? Phython? C++? C? Java? A language "does not cut it" ... how retarded.

      It's not retarded at all; it's a simple fact that each language comes with its own set of design decisions that make some tasks easier and some tasks more difficult. Thinking that all languages are equivalent would be a newbie mistake.

      For example, Python, while it is a great high-level language and easy to learn and use, will almost never produce software that runs at the speed of an equivalent compiled C or C++ program. Furthermore, its continuing reliance on a Global Interpreter Lock means that multithreaded Python programs will not utilize multiple cores efficiently for the forseeable future.

      Java, OTOH, avoids those problems but using Java means you'll need to include a Java runtime environment and JIT on any platform you deploy on; that makes it inappropriate for many embedded devices or otherwise constrained environments. Also the non-deterministic timing of the built-in garbage collector makes Java a poor fit for real-time programming.

      C/C++, finally, can run mostly anywhere, but their low-level nature makes them a bit harder to learn, and a great deal more conducive to shooting yourself in the foot with (if you don't use them correctly).

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    4. Re:C/C++ at $160k/yr by garyebickford · · Score: 1

      Your example reminds me of a powerful understanding I came to a while back. Every program we write defines an "application specific language" that is composed of the text, or the actions if a GUI, that the application supports. This linguistic approach to user interfaces can be a very useful viewpoint from which to define how a user interacts with our program. (where "user" may be a device, or software, or actual person, or whatever). We are constructing a language by which that user "talks" to our program.

      --
      It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
    5. Re:C/C++ at $160k/yr by david_thornley · · Score: 1

      C and C++ are very different languages by now, despite having a large common core. C++ is not low-level unless you want it to be that.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  23. $100k is not adequate information by Thud457 · · Score: 4, Insightful

    $100k and sharing a rented hovel in silicon valley with seven other brogrammers ?
    Or are we talking $100k in a mansion on the golf course in Arkansas?

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

    1. Re:$100k is not adequate information by Anonymous Coward · · Score: 0

      You haven't lived until you've huddled up with seven other brogrammers on a cold winter night.

    2. Re:$100k is not adequate information by Anonymous Coward · · Score: 0

      depends on if it is telecommute or not.

      Don't know why anybody would want to spend a million dollars on a broom closet in San Fran

    3. Re:$100k is not adequate information by Darinbob · · Score: 1

      I've tried that once, but I passed out from the smell.

    4. Re:$100k is not adequate information by Anonymous Coward · · Score: 0

      silicon valley is not like what most programmers think it is.

      for example, yes rent costs more on average. but the cost of eating at taco bell is the same as in florida. the cost of six pack of beer, and of going to see a movie, are about the same as they were in florida.

      there, i was making 60K/yr. i lived in a one-bedroom apartment for 800/mo which i split with my girlfriend, and we were quite comfortable. clean, safe, everything worked, decent landlord.

      then i moved to silicon valley. here i make 100K/yr. i live in a two bedroom condo with the same girlfriend, for 1700/mo. it's about the same size as my last place, except for the extra room. we rent the room out for 800/mo, leaving us to split the remaining 900 between us.

      see how, by adding one extra roommate, my rent has barely changed? and i have a TON of extra cash each month that i never had in florida, because my salary almost doubled.

      the point of this whole story is i'm not in a hovel, and i only added one more roommate. so silicon valley is not as terrible as you might think. :)

      i hope you come out here too. it was the best decision i ever made. did i mention the people and resources i have available to me, they are of a higher caliber by orders of magnitude? you can't put a price on that.

    5. Re:$100k is not adequate information by Anonymous Coward · · Score: 0

      $100k and sharing a rented hovel in silicon valley with seven other brogrammers ?

      Or are we talking $100k in a mansion on the golf course in Arkansas?

      There's more than one golf course in Arkansas! I bet if you work for Walmart doing programming (which for many years was the largest single IBM site) you can make $100k.

    6. Re:$100k is not adequate information by Anonymous Coward · · Score: 0

      yeah. but now there's a filth human infesting your home. i hope it rapes you both some night. you also could have gotten a larger place in florida for less and rented a room there too.

  24. Misleading title. by Anonymous Coward · · Score: 0

    I'm a Python guy, but am I missing something, or does this article show Ruby on Rails and Objective C as higher earning?

  25. Not in the Austin job market by quietwalker · · Score: 3, Insightful

    I'm pretty savvy with all the listed languages except Objective-C (only maintenance on existing apps), and have used them all at one time or another in a job. My linked profile garners around 3-4 recruiter contacts a week, and in my own little silo, I can say that while there may be 6 figure salaries out there for the Python and RoR, they are few and far between. The salaries I'm seeing on the top end for those development jobs rarely crest 70k.

    On the other hand, there's bigger salaries for Java or C#. It's not too hard to find a 100k-110k senior Java or C# developer position.

    Anecdotal evidence is not scientific data, but their results just don't match my personal experience in 2 decades of doing this.

    However, I think I can see how they got the numbers.

    According to the article, the data was retrieved by searching job ads, as opposed to taking a survey of people actually working at those jobs, and then permuting and filtering it. Given that:
        - Development job availability, especially with new technologies, is heavily skewed towards the west coast, where the cost of living is higher. From Austin to San Jose, the cost of living increase is between 50 and 75 percent - the 100k job is at least a 150k.

    We can make a reasonable assumption that there will be more positions open, and that more of them will be higher paying relative to the entire US job market, likely breaking the 100k cap, as 100k is low relative to the cost of living.

        - Established development languages already have a majority of their positions filled, as opposed to emergent technologies which have more open positions

    This will naturally result in a higher number compared to a language with less open positions, if the bar (100k) is low relative to the cost of living.

        - Emerging technologies lack experts simply because they haven't been around long enough to develop as many

    So positions will be open longer, and more aggressively marketed by recruiters, meaning that they're more likely to double- or triple- count job postings that are unknowingly for the same job
                              &
    Employers using recruiters often prefer to using a limited number of recruiters who themselves maintain a pool of direct-contact individuals with experience in a given field, meaning that those jobs are less likely to be publicly posted, whereas the new technologies require public announcement and investigations.

    So in summary: I don't doubt the statics they used, but I think their methodology may be affected by a heavy bias, and therefore invalid.

  26. Laughable methodology by jbarone · · Score: 5, Insightful

    The salary data is taken from the subset of job ads that list compensation. I don't know the last time I saw a want ad in the software industry that said anything beyond "competitive compensation" or the like. That suggests that they are only looking at a very skewed subset of jobs, my guess would be much greater representation from government, academic, non-profit, and non-tech companies looking for developers.

    Getting into speculation here, but I would guess that the higher premium on things like python would be because non-tech firms hiring python devs probably need scripts for efficient data mining, analysis, and reporting, a skill requiring far more expertise than run-of-the-mill software development.

    C#, which I don't think anyone would argue is vastly more marketable than python, Ruby, or Objective-C in the highly lucrative tech sector, is likely so low because the sort of want ads they are looking at are mostly going to be positions that build web-based business management sites on the .NET stack, which is a very low-expertise, low-standards type of job.

    Beyond the stupid methodology of only looking at want ad compensation (a better - though still suspect - method would be to look at something like glassdoor for salaries and then correlate those to the skills asked for in want ads for the same position and company), they should really be including the full requirements list for this to be at all meaningful. If one ad asks for "python, plus 7 years of experience working with large scientific datasets, strong understanding of statistics, and experience with one or more data visualization libraries" and the second asks for "c#, knows what a website is", then saying the first one is better paying because of python is silly.

  27. Wrong question by johnlcallaway · · Score: 2

    Smart programmers pick up new languages very quickly. I'd rather hire someone smart who doesn't know Python, than someone mediocre and only knows Python.

    Someone may make $100K today in Python, but what about a few decades from now. I know COBOL, and still know people writing COBOL supporting legacy code. But the majority of the ones unwilling/unable to learn a new language are out of a job.

    I'd rather be learning new things and have several tools in my belt than just one and be limited.

    And easily replaced.

    --
    I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
  28. No. by Anonymous Coward · · Score: 0

    A job that starts you in such a pay bracket will come with barriers to entry other than the language you need to know. Like, even if it pays well, the number of potential clients that will actually pay that will be very small, and the number of candidates competing for that business will be very high. Also, there may be industry-knowledge requirements apart from coding skills, and you can't meet those through schooling. So, you will have a real uphill battle ahead of you.

    In addition, you will probably have to work as a consultant, maintaining multiple clients and travelling a lot. Those costs will eat into your personal life and also into that high salary you are commanding.

    On the other hand, there will be more job openings for more stable jobs, with less competition, for people who can code in these other languages. So, there is plenty of reason to go that route too.

  29. If all you have is a hammer... by Anonymous Coward · · Score: 0

    I don't think anyone should learn just one language. Different languages are good for different things. If you want to process lots of files, maybe give Perl a try. Need to rapidly prototype some proof-of-concept stuff? Go with Python. Need to actually implement it in a efficient way? Write in C. Have to do numerical calculations? Fortran77 is still your best bet. Want to collaborate with people on a large project? C++ seems to be good for that. Need a lightweight scripting language to embed in your program? Look no further than Lua.

    Languages are specialized. You should use the best one for the job at hand.

  30. Use just one? by fahrbot-bot · · Score: 1

    Which Programming Language Pays the Best?

    Seriously, just one? I use several languages, on the same project:

    • Solaris/Linux: Ksh, Perl, (some) Python, Tcl/Tk, Java, C
    • Windows (XP->2012): Batch, PowerShell, VB Script, AutoIt, Perl, Tcl/Tk, Java, C, Assembly.

    I'm 51 and get paid over $125K (in southeastern Virginia) and generally work when and on what as I please. There are 3 senior and 1 junior people on my team and we develop/support a ~300k lines of code for our cross-platform application.

    --
    It must have been something you assimilated. . . .
  31. Assembler! by Anonymous Coward · · Score: 1

    Do you want to write kick ass firmware that even runs faster than code generated with C ? Learn to write assembler code. My first programming gig out of college I wrote firmware for a networked door controller. I started with a semaphore driven multitasker. One level of the multitasker functioned as a main loop just checking to see if semaphore flags are set. if a flag is set, run the subroutine and return to where I jumped from. There were also interrupt driven subroutines.. for instance a card reader, communications controller, alarm bus, all driving sub routines by interrupt. The processors were only running at 6mhz then but the code was actually quick. I even wrote a routine that compresses the card data in the database.
    When you read my assembler code, due to the labels I used for the subroutines, semaphore flag names, interrupts.. the code looked like a unique programming language, except for the assembler on the side. You could clearly read the code and understand what what going on even a year after the development.

    From Assembler I learned C. I wrote interfaces to my firmware in C. From C to C++. C++ to Java, from Java to Perk, From Perl to PHP. When I learned that Mars Rovers run Python that motivated me to learn Python. I built a small robot based on the BeagleBone.. originally I used node. Eventually I got the robot to run on Python.

    As far as pay goes. I found C scripting (you need to know how to script to glue Unix based applications together), C, and PHP to pay the most.
    There are far too many java programmers out there so most java developer postions don't pay over $80k. C is still king for salary. Especially if you
    are not afraid to design your own algorithms. I think as long as you know how to take input data, process it, store it in a database, generate reports from it, or take sensor input, control servo output you will earn decent money.

    Worpress will eventually be so easy to use a monkey can do it. Right now you can still earn $5k or more by creating a website for a business. Eventually that would erode. Writing the killer web application well there's still money in that. You can actually write your own ticket if you do that.
    I would never of thought that facebook would generate income. Who in there right mind would publish personal information about them for the world to see ? Governements all have facebook data mining tools. What do you think they use to train face recognition system. I saw the software in the wild so I do not have a facebook account. The only social media account I have is LinkedIn.

    Python isn't so bad.. I don't know how far a python application would scale because the python applications I wrote are for a robot controller running on a BeagleBone Black. I have written C applications that would spawn over 1000 threads on an IBM Power AIX system and can say applications written the correct way on IBM Power scale very well. I have also seen 32 bit Websphere java applications on similar hardware scale poorly, mostly due to the way the code was written... and partly due the java garbage collector busy using 80% CPU even with GC tuning set properly. Java needs more hardware with a smaller memory footprint to run fast. I think it's because java was written by a hardware vendor. note when I say scale I mean 2100 threads processes incoming loan requests from all over the country.

    Anyway enough ranting. If you are a hippie just write in the code that you enjoy. If you have a family and financial obligations I suggest hardcore C.

    1. Re:Assembler! by molarmass192 · · Score: 1

      Wish I had mod points. Learn the underlying concepts and best approaches. The language is just the tool. It's akin to someone asking "I want to build houses for a living, which brand of hammer will let me build houses?".

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    2. Re:Assembler! by Opportunist · · Score: 1

      Thank you for reaffirming my faith in humanity. It took me almost to the bottom of the thread to FINALLY come across someone who gets it.

      The language does not fucking matter! Imperative language is imperative language. Unless we're talking about some completely different concept that requires you to alter your thinking completely, the choice of language matters little. If anything, you may make a difference between interpreted and compiled languages due to the workflow behind them, but that's already leading me to my actual gripe: Your environment and your goal matters. Not your tool.

      The language mostly used around my team is Python. Not because it's a great language (it may be, but for all I care it doesn't matter), not because it's the flavour of the month language (again, don't know, don't care), not because most of my team are proficient with it (far from it, most who do have a programming background in the first place come from compiled languages of the C/C++ family), but because it's there, it's stable enough, it's easy, it gets the job done and it's part of most of the tools used. It's used for automatizing security tests.

      Now, and that's the critical part: The people around here don't earn their money for being such Python wizards, they earn it for being security gurus. Knowing Python is nice, but it's at best some icing on the cake. But I bet they would show up in this fucked up statistics as "Python programmers" and presto, "Python programmers make shitloads of money".

      No! People who have jobs that pay them well because they're good in it use Python because it's there, it's available and it's easy to pick up, and since they don't give a fuck which language to use, it's Python because it's there, it's easy to use and many tools support it or the environment is easy to set up.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    3. Re:Assembler! by Anonymous Coward · · Score: 0

      If you have a family and financial obligations I suggest hardcore C.

      Was looking for a job in hardcore C for a few months, only to be told by a recruiter that nobody is looking for C anymore. This was in line with my observations that even hardcode C shops are ashamed of this fact and advertise their position as C++ instead. Tried to sell myself as a C++ programmer. Failed. It's a sad story. Apart from system programming hardcore C is the stuff of history books.

    4. Re:Assembler! by Anonymous Coward · · Score: 0

      Which is a shame, really, since C is still the nicest language to code in.

  32. Causality? Who knows? by Just+Some+Guy · · Score: 3, Interesting

    I love Python because it maps very neatly onto how I model problems in my head. I'm not averse to using other languages, but Python is my comfort zone because Guido and I apparently think about algorithms in the same ways. As it turns out, I make a decent living with it.

    So, do I have a good job because I know Python, or is it because the thought patterns of the people who are drawn to Python are the same ones that companies want to pay for, regardless of language? If the former and you want a good job, then by all means learn Python. But if knowing Python is just a side effect of the properties that employers are actually looking for, then it's probably not going to help you all that much.

    --
    Dewey, what part of this looks like authorities should be involved?
  33. Re:Your baseline is wrong... by bigman2003 · · Score: 4, Interesting

    I hate this comment.

    I probably hate it because I make about $90k (plus one of the best benefits/retirement packages in the United States...you can suck your 401k, I gots me a pension!)

    But really, I hear this all the time. "Oh, you only make $90k? You must suck. Any mid-level programmer can make more than that."

    First, it really isn't just about the take-home. The benefits are really important.

    Second, there are sooo many other factors, it is incredible. I live about 70 miles from Silicon Valley. My salary *is* something to scoff at by the denizens of the Valley, but for quality of life? I have most of them beat.

    I live in a beautiful house that I can easily afford. I average 40 hours per week- with the variance being about 3 hours each way. A 'crazy' time means that I come in at 7:30, and maybe stay as late as 5:30 if I have some process running.

    I get to lift my head out of the screen and go do REAL things during my work. I am consulted on many different business processes- my opinion is valued well beyond the technical side of my job.

    Someone else mentioned 7 brogrammers huddled together in some Santa Clara shit-shack, all making $150,000. That's a miserable existence that I want no part of- no matter how great they are at programming, or how many Google logoed items they own.

    It isn't all about the dollars- don't let some HR firm tell you it is! Don't base your career/life trajectory on your paystubs.

    **As an aside, I have visited the Google campus a few time for different projects- meeting with 'fairly high level' employees. We typically compare quality of life notes...I haven't talked to any Google employees over the age of 35 who thought they had made a good life decision to be there. Except for the former CEO's of companies Google has purchased...those guys are happy as shit.

    --
    No reason to lie.
  34. Topping the list of most popular US Fast Foods is: by jddj · · Score: 3, Funny

    Ham/Hamburger

  35. Assembly. by Anonymous Coward · · Score: 0

    But there are very few jobs.

  36. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  37. Dice by aardvarkjoe · · Score: 1

    Yeah. I'm totally going to change my career path based on a Dice article. Unless my horoscope tells me otherwise, of course.

    --

    How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
  38. Dice's recent list of the fastest-growing tech... by who_stole_my_kidneys · · Score: 1

    Well if Dice.com said it, then it must be true!

  39. Consulting FTW by Kagato · · Score: 1

    Realistically speaking if you want to make the Benjamins then you need to be a Senior level developer in a widely adopted language and 1099 corp to corp bill through a smaller consulting firm. You will likely make $100+/hr and be able to do it while living in relatively inexpensive fly over country. No need to bunk of with half a dozen Brogrammers in the Valley.

    Just to give you a bit of a data point, at my last consulting gig, in the midwest, WiPro told them their H1B contract Business Analysts were going to be over $100/hr.

  40. C language by michaelmalak · · Score: 1

    Hey, in the 1980's, C was supposed to pay the best. What happened?

    A more interesting metric would be how many languages and frameworks one must learn per year in order to maintain compensation in inflation-adjusted dollars, and then chart that over time. I suspect a) it would come out as an exponential and b) that this indicates our acceleration toward the singularity.

    1. Re:C language by Anonymous Coward · · Score: 0

      Before I was in the field, cynical comments like yours used to scare and upset me. Now that I'm here and cleaning house, so to speak, they make me smile, because the omni-present can't-do attitude that you embody is a) why I'm paid so well and b) why I'll be paid even better tomorrow.

    2. Re:C language by michaelmalak · · Score: 1

      According to shadowstats.com, actual (i.e. not reported) inflation over the past 25 years has averaged 8.4% annually. Now, take your current compensation and multiply it by 2.24. Do you expect to be earning that much in 10 years? OK, now take your current compensation and multiple it by 7.51. Do you expect to be earning that much in 25 years? Keep in mind there will be long droughts during recessions where your compensation will stagnate or even decline.

    3. Re:C language by Anonymous Coward · · Score: 0

      Such potential for a paper - predicting peak frameworks.

    4. Re:C language by geekoid · · Score: 1

      Still does.
      There isn't as much work, but what needs to be done is critical.
      So there aren't a lot of candidate.
      A Sr. C programmer should be making 200K; which is down from 400K in '99

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    5. Re:C language by geekoid · · Score: 1

      Shadowstats is crap.

      http://azizonomics.com/2013/06...

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    6. Re:C language by lgw · · Score: 1

      Fuck me, I agree with geekoid. Shadowstats is worse than crap, it's marketing. Yes, true inflation is worse than reported inflation (and always will be as long as major govt programs are indexed to government-reported inflation), but the difference is small.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    7. Re:C language by angel'o'sphere · · Score: 1

      A senior C programmer does not make 200k or 400k because he knows C but because he knows the domain (like banking, finances, insurances, flight, energy, etc.)

      C is perhaps the second simplest language, after assembly ... how hard can that be?

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

      See the other comment as to why that's garbage. I don't care though. I'll be out kicking ass while you cry in the bedroom about inflation and stagnation. Have a nice life.

    9. Re:C language by HeckRuler · · Score: 1

      A variable is a hunk of memory that stores values that vary depending on what you put in there.
      A const variable is variable that doesn't vary.
      A volatile variable is a variable that might vary behind your back when you're not looking.

      So what's is this?
      const volatile myVariable;

      If it takes you more than a minute you might not be a Sr. C programmer.

      It's an input pin, btw. Because const is really just a euphemism for "read-only". And volatile means something else can write to it. A big hurdle that keeps kids away from C is just the language barrier and the archaic terminology. Culture has moved on and has solidified the english language around some of these sort of things, but C is stuck back in the 70's. And if the term "pin" throws you for a loop, then you're probably out of your water and need to head back towards the island of abstraction which is a safe distance from the real world.

    10. Re:C language by david_thornley · · Score: 1

      Except that I don't observe anywhere near that. 25 years ago was 1989, and 25 years at 8.4% is a factor of 7.5. My wife and I make a little over double what we did back then, and we live better and save more.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  41. Java by bigsexyjoe · · Score: 1

    Python might have the higher average, but Java is more popular, and I would guess more people are making big money in Java. I think Java has a very high ceiling. Many of the people making big money in Python probably have significant non-software engineer skills.

  42. Embedded Systems by prefec2 · · Score: 1

    In Germany embedded systems make up 22 billion eur while information systems are only 8 billion. In embedded sys. you need c and that ISO language bundle.

    In both cases entry is 30 or 40 k eur. And real good figures normally involve an architectural or management role where only little programming is left.

    1. Re:Embedded Systems by Tough+Love · · Score: 1

      Most of the embedded projects I looked at recently seem to be in C++.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
  43. Job Satisfaction by slapout · · Score: 1

    I'd rather work with a language that paid a little less than one that I found hard to use.

    --
    Coder's Stone: The programming language quick ref for iPad
  44. Wrong - COBOL by WillAffleckUW · · Score: 1

    Everyone knows that.

    Note, I did take a COBOL class once, but I don't code in it, even if I have done code audits of it.

    --
    -- Tigger warning: This post may contain tiggers! --
  45. Re:Ada Engineer... but why? by WillAffleckUW · · Score: 2

    A lot of that is the Security Clearance and nature of the work you do with Ada. Not the language per se, but what you're doing code for.

    You can make a mint on certain embedded assembler coding for highly classified projects.

    --
    -- Tigger warning: This post may contain tiggers! --
  46. What does language have to do with it? by Anonymous Coward · · Score: 0

    Java, C++, JavaScript, C, and R also topped the list, routinely racking up salaries of $90,000 and above.

    I do C, not C++. And I literally am making double what the article suggests.

  47. Any language will do... by Anonymous Coward · · Score: 0

    You can pretty much master a new language in a 1-2 months. The language isn't the issue, it is the domain you are working in.

    Learn the fundamentals; Algorithms, database design, architecture, operating system design and you'll be much better skilled than if you learn a single language.

  48. Keep Learning by EccentricAnomaly · · Score: 2

    Once you learn a certain number of programing languages it becomes really easy to pick up new ones in the same style. Python, C, C++, Perl, Java, Ruby, etc. are all very similar and there's a point where you'll know enough that you'll just have to google the 'if' and loop syntax and you're good to go. After that you can learn different programming paradigms like functional programming or how assemblers work. And once you're there, you can pretty much pick up any programming language or API you need to use in a couple of days. It doesn't really matter where you start so long as you are committed to lifelong learning that's how you make the big bucks.

    --
    There are 10 types of people in this world, those who can count in binary and those who can't.
    1. Re:Keep Learning by Anonymous Coward · · Score: 0

      Where is the world where C and Perl are very similar? I'd like to visit.

    2. Re:Keep Learning by Jeremi · · Score: 1

      Python, C, C++, Perl, Java, Ruby, etc. are all very similar and there's a point where you'll know enough that you'll just have to google the 'if' and loop syntax and you're good to go.

      I'm reminded of this quote:

      "The determined Real Programmer can write FORTRAN programs in any language." -- Ed Post

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    3. Re:Keep Learning by bouldin · · Score: 1

      I agree, but good luck convincing HR departments and hiring managers. They all seem to think if you haven't been using that exact language for the past 5 years, you won't be able to do the job.

  49. Re:Ada Engineer... but why? by Anonymous Coward · · Score: 0

    Indeed.

    Overhead++ and the fact that they practically and legally can't outsource your job to some 3rd world country also make for great job security (that is, until your project gets de-funded and _everyone_ goes).

  50. Python ... by Anonymous Coward · · Score: 0

    ... because life is too short.

  51. Java/Javascript - why the slash. slashdot? by Anonymous Coward · · Score: 1

    Java and javascript are totally unrelated. So why join them with a slash as though they are somehow one and the same?

  52. Definitely COBOL by scsirob · · Score: 1

    A recent survey in the Dutch IT marketplace on Tweakers.net confirmed that COBOL is the highest paying programming language. Not because it is hot, but because the average age of programmers with COBOL skills is so much higher. There are no COBOL programmers on a starter salary, so obviously the average is higher

    --
    To Terminate, or not to Terminate, that's the question - SCSIROB
  53. High demand for few positions by barbariccow · · Score: 2

    Having many years in python, I am constantly being contacted from people across the country for python jobs. In all python jobs that I've worked, almost every other developer has very low skill, and little to no experience as well, so it's a very easy market to succeed in. When I am actively looking for work though, Java and PHP jobs way outnumber the python jobs, and Java always has the highest salary associated (this is Baltimore/DC area)

    1. Re:High demand for few positions by Shados · · Score: 1

      It will depend a lot on where you are. In the "hip" areas and start-up havens, SF, Seattles, Cambridge, NYC, the trendy (or college friendly) languages like Ruby, Python, and even javascript/node, are omnipresent. Stuff like Scala and whatsnot too.

      That jacks up demand and salaries. I looked at statistics recently showing Ruby/Rails as the language that pays highest in those specific areas. My personal guess is that a lot of them pay higher to compensate for lack of benefits (vacations and 401k matching as well as bonus structures, mainly), which skews numbers that don't look at the total compensation package.

      I'm actually working in one of those companies right now as a javascript dev, and ended up negotiating my salary to totally out of wack level because I was losing a lot in term of RSU, bonuses and 401k benefits compared to my previous role. So on paper, I'm making 30k more than i used to. In practice, I'm actually making less.

  54. Nag, Nag, Nag. by luis_a_espinal · · Score: 4, Insightful

    I'll bet it was easier than hunting down the invisible bugs from mixed tabs/spaces or introduced by your editor mangling indentation while moving bits of code around.

    Which is easily solvable by setting spaces-for-tabs in your editor (and which I do when working in Python, ... or Java... or C/C++... or pretty much everything because that really solves a whole bunch of issues.)

    And violations of spacing/indentation rules are trivially caught by with automated testing/CI, which I do with Jython... or Java... or even C/C++ .... or pretty much everything whenever possible because it is the sane thing to do.

    I've only been doing Python for 2 years, including C-to-Python bindings using Python 2.7x, Java-to-Jython/WLST integration (with Jython/WLST being based on Python 2.2), and a tiny bit of Windows automation with IronPython.

    Most of my background is Java for enterprise development and C/C++ for embedded/system-level development.

    As such, I initially I stumbled across some of the nuisances with Python, the spaces, the lack of a stack trace on exceptions, or the fact that exception hierarchies are slightly, but oh-so-different between Python 2.2 and 2.7. But past those stumbles, I simply use tool configs, procedures and coding standards to deal with them.

    And that is the same when I do Java or C++. Each has their own gotchas and effective Java/C++ developers simply do the same - use tool configs, procedures and coding standards to deal with them.

    Why would anyone mix tabs with spaces. Use one or the other, regardless of whether you do Python or not. If I see a code base in any language that has that shit mixed up, I know I'm bound to find some other stupid shit in the code.

    Why? Because mixing tabs with spaces all over the place, like spelling errors, lack of meaningful comments and/or deeply nested code (arrow anti-patterns), these are all proxies for bad coding practices.

    I originally found Python indentation rules to be annoying. After all, how hard is it to auto-indent from an IDE or a command line (or force an auto-indent of code before checking in, or en mass before merging back to the trunk)?

    But you know what, people are idiots, and I've learned IN GENERAL not to expect them to write clean code (nor tell clean code from apple pie.)

    It is still possible to write horrible Python code, but it is a lot harder to do so in it than in Java or C++ or C#. I would still have preferred to see Python having start and end markers for blocks (a-la begin/end or curly braces) on top of indentation rules.

    But it is still a good compromise. Hard to see where code blocks end? Increase indentation. Better yet, refactor that shit out. If I see I have a harder time telling the end of a block, chances are that block is already large (time to refactor out), or that there is a lot of code around it (time to split it into better levels of abstraction).

    You know, the kind of stuff we are supposed to do in any language anyways.

    Besides, accidental violations that render Python code invalid, those things are trivially solvable by doing shit we are supposed to be doing anyway (namely, avoiding mixing tabs and spaces, automated testing, keeping code small and at least dry-run your shit before committing it to source control.)

    I'm not saying programming in Python is Nirvana (for some things, it truly sucks.) But some of the things people complain about, they are just asinine complains for shit that broke because, on a fundamental level, they are not following good industrial practices IMO.

    1. Re:Nag, Nag, Nag. by devent · · Score: 1

      Im my opinion. any language that allows for "accidental violations that render [the] code invalid" is just garbage. I mean, really, somebody or something put or remove a whitespace randomly (a whitespace so called because it is invisible) will render your whole program invalid, and you defend such a language?

      --
      http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
    2. Re:Nag, Nag, Nag. by garyebickford · · Score: 1

      Yes. For one, the true value of having two different block begin and end tokens is similar to the value of double entry bookkeeping. In Python there is only one "token" denoting a change of block (in this case the token is just the change in number of indent spaces). As a result, ambiguities and outright errors can be impossible for the parser to recognize.

      --
      It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
    3. Re:Nag, Nag, Nag. by luis_a_espinal · · Score: 1

      Im my opinion. any language that allows for "accidental violations that render [the] code invalid" is just garbage.

      Like... missing a semi colon.

      I mean, really, somebody or something put or remove a whitespace randomly (a whitespace so called because it is invisible)

      Depends on the IDE (I typically configure Eclipse and Notepad++ to show whitespace). Hell, even VIM can let you do that.

      Even without those settings, whitespace is not invisible either. And the rules are not that spacing must be neat and tidy, but simply that they are compatible within and among blocks.

      True that people can accidentally mess it up (hell, I've done it myself)... but shit man, unit tests? CI? Testing code snippets in a REPL when you have one? There is not a goddamned excuse NOT to do any of that regardless of the language that you are using.

      The only way for this rules to cause havoc is for people that are doing fire-and-forget programming. That is all.

      will render your whole program invalid, and you defend such a language?

      I'm not defending, I'm explaining and quantifying the problem, and I'm proposing, based on the evidence I've seen in real life, that continuous pain with indentation rules in Python have to do with people not doing shit they are supposed to do (continuous testing, coding small, testing small, refactoring, etc.) Shit that they are supposed to do in any language.

      So, indentation rules are simply compounding problems that are more fundamental and closer to that area between the keyboard and the chair. I'm not defending, I'm explaining.

    4. Re:Nag, Nag, Nag. by luis_a_espinal · · Score: 1

      Yes. For one, the true value of having two different block begin and end tokens is similar to the value of double entry bookkeeping. In Python there is only one "token" denoting a change of block (in this case the token is just the change in number of indent spaces). As a result, ambiguities and outright errors can be impossible for the parser to recognize.

      You are absolutely correct. That, a lack of begin/ending tokens, a lack of a ternary operator, and (pre Python 3.x), limited lambda expression support are my biggest gripes with the language.

    5. Re:Nag, Nag, Nag. by devent · · Score: 1

      You know what is the best tool for testing? The compiler. The compiler can test your code even before you run anything. But people throw away the best tool for testing for "unit tests? CI? Testing code snippets in a REPL" just so it looks pretty.

      Like... missing a semi colon.

      You mean JavaScript? Agree fully, it's idiotic, and there are many hard to spot errors in JS because of the "convenience".

      --
      http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
  55. Re:Your baseline is wrong... by Anonymous Coward · · Score: 0

    I made $50K living in a small Midwest town, and was considered an expert in my field. I moved to SF for a job that tripled my salary for less responsibility, and I've since gotten raises of almost another $50K.

    $50K in a town where $120K buys you a nice house in a great school district is almost as nice as $190K in other parts of the country.

  56. Re:LOL! Are you smoking crank cocaine, Soulskill? by Tablizer · · Score: 1

    Corporations and programming languages are people too. --Rom Mittney

  57. "Probably Python"? lol by Anonymous Coward · · Score: 0

    "Probably Python"? lol

    Are you new to computer programming or something? Python? Seriously? lol

  58. Re:Your baseline is wrong... by Anonymous Coward · · Score: 0

    There's no reason you can't have both. I would never work at Google because it really is geared toward that crowd, but I am at a mid-size, mature company with a great manager, make around 220k a year (approximate, because 25% of it is options, which fluctuate in value), almost never work 40 hours a week anymore (30 is probably a highly productive week, but 20 is the average), am respected across the company, etc. Weeks when I work 40 hours a week are when I just love a problem I am working on and want to get immersed in it, or my wife is out of town and I get bored. We're all geeks here, after all, and love coding for its own sake.

    I periodically interview at another company, get an offer of 20-40k more, and usually decline, because I value my quality of life, and that includes as little . I've been working here for 5+ years and I love it. Google/Facebook/Amazon are just mills for fresh CS grads. But there are plenty of decent companies that will pay for a good software engineer, not a brogrammer. Would I switch for an exciting job that offered 50k more but meant having to work 40 hours for the first 6-12 months? If it was fun, yeah. I don't want to pay too high a premium for working here. That's why I hit the market every year or so.

    My wife and I live together, we don't have our own house, but it's more important to us to live more centrally and close to all our buddies. Houses are not a high priority at this point in our mid-20s, maybe later. Maybe if our savings hit the point where we can afford one in the area. But what's important right now is playing sports and hanging out with friends and hiking and just enjoying life. I don't want to live out in Marin or Fremont with a big house but no social life, in the middle of suburbia, and a 2+ hr commute, and another 2 hr commute if you want to do anything fun. That's just pure wasted time you are never getting back.

    If you're happy, don't switch. If you think you might be even happier with a bit more pay, or a more central job, and think you can do it and still stay happy, go for it. You can, even in Silly Valley - just keep bouncing jobs until you find your perfect one and then settle in for a while.

  59. In Soviet Russia, Language chooses YOU! by Thor+Ablestar · · Score: 1

    I think that the problem is not the choice of language but the presence of something that can be expressed with it. Persian language, for instance, is known to be the language of classical poetry, but if you think that you should study Persian to become a classical poet, you are clearly wrong.

    I am not a programmer, I am a scientist. I use some microprocessor and I program it with old good assembly language. I know what to express with this assembly. There are complex amplitudes, Fourier transforms, rotation of coordinate axes, PID regulators and other craziness. As a result, a diy 8-bit PIC18 device that costs about US$40 in parts gave the same 16 decimal digits of precision as a US$40'000 box made by famous German company. Really. I live in Russia and nobody will be able to pay me more than US$1000, but at least nobody will ever think about firing me.

    No knowledge of programming language will ever give the same results. Here are some professional programmers who write the professional programs which sometimes work after multiple kicks but they look so professional, with buttons, graphs, widgets and all that stuff.

    And the necessary Soviet joke:
    Q: Why is the Soviet food program named "complex"?
    A: Complex things consist of real and imaginary parts.

  60. Python is strongly typed by Anonymous Coward · · Score: 0

    ... scripting versus strongly typed languages

    Technically, Python is strongly typed. It just isn't statically typed. Which always seemed odd to me, but that's the way it is.

  61. Re:Ada Engineer... but why? by Anonymous Coward · · Score: 0

    Only about half our engineers have a SC. Mostly not needed. Not a salary differentiator in our case.
    We are having trouble locating qualified Ada software engineers. Usually get applications from C hackers that can't engineer worth a damn!

  62. Re:LOL! Are you smoking crank cocaine, Soulskill? by Anonymous Coward · · Score: 0

    > I also didn't know that Python is a programming language!

    Not sure if you're kidding, never heard of Python at all, or think it's not a "real" programming language. I assure you it is.

  63. Re:Ada Engineer... but why? by Hognoxious · · Score: 2

    You can make a mint on certain embedded assembler coding for highly classified projects.

    Should you be telling people that?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  64. Python rocks! by Anonymous Coward · · Score: 0

    Python rocks! :)

  65. Six figures isn't what it used to be by Tough+Love · · Score: 1

    Word.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  66. JavaJavaScript by hogger · · Score: 2

    Never take programming or programming-career advice from someone who doesn't know that Java and JavaScript are completely different languages.

  67. Re:Your baseline is wrong... by KayakFun · · Score: 1
    I went from a 90k EURO (~120k $) with 1 hour traffic jams both in the morning and afternoon, to a much lower paying job with only 14 minutes of empty motorway between my house and the job. I set my alarm clock 1 hour later, and I can do my shopping after work, cook/eat and still have a whole evening to myself.

    Once you earn more than your living expenses, more money is not attractive, more time (and an interesting job) is the real benefit.

    BTW, I was a Perl programmer/project leader, and am now a Drupal developer, which makes me a PHP programmer. Amazing similarities between Perl and PHP ;-)

  68. Re:Your baseline is wrong... by Anonymous Coward · · Score: 0

    "First, it really isn't just about the take-home. The benefits are really important."

    Yeah, you keep telling yourself that, until whichever entity which gots you a pension misuses, embezzles or otherwise slashes the funds and you wind up with your underpants on a stick as the old Croatian proverb says.

    Cash in hand is worth all the pension in the bush, because "it's nobody's fault really, the market is just bad right now". Screw that, and good luck with those "benefits" of yours.

  69. Does language matter? by LostMyBeaver · · Score: 1

    I programmed professionally for 20+ years and have written code installed on over a billion devices and used every day. I found that software engineers are either excellent programmers in every language or half assed if every language.

    The simple fact is, language is irrelevant. Computer science is computer science in any language

  70. Cost of living by cwsumner · · Score: 1

    Don't forget to take into account the cost of living, where they want you to move to. I can live better here on 60,000 than you can live in New York City on 150,000.

    Also, the best paying Computer Language is the one they use at the company you want to work for. Study how to learn computer systems and languages quickly. And learn more than one. 8-)

  71. ANSI C pays me by Anonymous Coward · · Score: 0

    144k. thank you very much.

  72. NO WAY! by Anonymous Coward · · Score: 0

    I have never, NEVER found Unix/Linux jobs to pay as well as Microsoft OS languages. The .Net framework pays the best.
    Of course, assembly language pays more unless you are in the top 1% in your class or years of experience good luck getting a job as they are quite limited compared to other programming platforms.

  73. The language is only a tool... by bakana · · Score: 1

    You will be the most important factor in getting that 6 figure salary, not the language you use. All decent programmers should be able to break down complex problems into smaller pieces and use whatever tools are at hand to solve the problem. It doesn't matter the tools you choose to use so long as you can adapt to the situations, learn how to use new tools, and get the job done well. I find the many people allow recruiters and HR departments to tell them what they are worth; based on prior budget meetings, market value, and what they feel the job is worth. A job interview is a sales presentation; you are selling yourself to them and they are selling you on their company. Plain and simple. Once they are sold on you, and you are sold on them, then its about negotiating a price that benefits both parties. Mind you that interviewing at these companies can be quite laborious task; some interviews can be hours in front of a white board writing code in response to questions, then answering a bunch of S.T.A.R. questions, multiple rounds of interviews, etc. By the time it is done and over with, as soon as they toss that old "market value" bit, i toss that out the window. The market isn't in this room writing code for you on the white board, answering silly college questions about algorithm run times, and self-evicting maps. Then start negotiating, if you have the experience, you showed them you have the knowledge, you can negotiate much higher salaries. The language is just a tool. You are what they are paying for, you have to be worth the money. For the record, I do make almost twice the salary you were asking about as a lead java developer, i know and have used many other languages, and the post someone made about quality of life should probably trump you want for a 6 figure salary. What good is it to make the salary you want, only to have to work 60 hour weeks and then your spouse leaves you and you paying them half your check plus child support anyways?

  74. Learn a lot of languages by s31523 · · Score: 1

    I do not think salary directly maps to the programming language a particular project at a particular company is using. Of course you should be aware of what languages the industry is using in your niche, and outside of your niche. You should hone your skills and learn a lot of different languages. All languages have unique capablities specific to their design and learning them will help you know what tool is best for a given job. A high-paying salary should come with expectations to do the job using the tools provided and expectations to have expertise to drive decisions on tools.

  75. Right tool for the right job by Anonymous Coward · · Score: 0

    Right tool for the right job says we should understand the task first. If the primary task is making 6 figures then yes, learn a language solely because it will pay 6 figures. If the task is to accomplish a specific task efficiently, define the task and determine which tool does that job. There are OS tasks that we wouldn't want to do in assembler, and realtime drivers that we wouldn't want to do in Python. If we are a software engineer, we can use arbitrary tools. If we are a "coder" and only code in a given language then better stick to that language anyway. Recall that coder != software engineer.

  76. Ada Engineer... by Anonymous Coward · · Score: 0

    ~$200K for C# here plus I am currently working from home.

    Buy a nice suit, network, consult with a growing company and make yourself invaluable to them.
    And don't bullshit people.. it doesn't pay off in the long run.

  77. What about Forth? by Mister+Null · · Score: 1

    Almost all the Forth programmers I know own their own companies. Heck that's got to count for something.

  78. programming jobs by Anonymous Coward · · Score: 0

    I'd be interested to know what languages are in most demand... I don't care so much about salary levels. I just want to stay employed.