Slashdot Mirror


Go R, Young Man

theodp (442580) writes " Learning to code has become a mainstream fascination," writes Brian Liou in Why are YOU learning to code?, "but all the evangelization has been misleading. The problem in our Chris-Bosh-codes-so-should-you society is that people learn to code without first asking "for what purpose do you want to use code?" What in your day-to-day work could you actually automate using code? Let's face it, your odds of creating the next hot iPhone app aren't great, but the spreadsheets you look at everyday or the strategic business decisions you or your company makes? Coding can help you with those. Coding to better understand data would help everyone." Leada co-founder Liou's advice? "So to all non-technical professionals looking to get technical: If you want to become a software engineer, by all means learn Ruby or go through the JavaScript tutorials on Codecademy. But if you're simply a business professional looking to gain an edge on your peers, trust me, you are much better off learning R." So, did Mark Zuckerberg steer 100 million K-12 coder wannabes down the wrong path with the JavaScript and Ruby preaching?"

144 comments

  1. Just learn to program by Anonymous Coward · · Score: 4, Insightful

    Language is not relevant, as long as you don't just learn one.

    1. Re:Just learn to program by Anonymous Coward · · Score: 5, Insightful

      1) You have to choose a programming language to learn with. You don't learn to program in a vacuum.
      2) A non-technical person doesn't want to learn tons of programming languages especially when they have no relevance to their business. Hence the suggestion of the article writer that they focus on something like R over Ruby/Javascript since it's likely to have more relevance to them.

    2. Re:Just learn to program by narcc · · Score: 0

      True. Though some languages are more "beginner friendly" than others.

      Though I could be convinced to agree that some languages cripple the mind irreparably, like Python.

    3. Re:Just learn to program by Anonymous Coward · · Score: 2, Interesting

      What does 'you don't learn to program in a vacuum' have to do with the statement 'you have to choose a programming language to learn with'?

      I learned QBASIC, then C, then Java, then Python, and only by the fourth stage did I consider that I'd learned anything close to 'how to program'. Had I started with R I'd probably be 10 steps behind where I am now.

      OTOH I do believe R is a lot more practical than many languages people use and it does seem to be doable by those who cannot otherwise program. So the article probably has a point. If you want to get better at math and leverage computers for decision making, but can't be arsed to really get into how computers work, R is probably a good thing to check out. But if you like the ideas and capabilities it opens up - FFS, learn more languages.

    4. Re:Just learn to program by Lunix+Nutcase · · Score: 4, Insightful

      Most people don't have the time to sink into learning multiple programming languages. Especially when programming isn't their career.

    5. Re:Just learn to program by Anonymous Coward · · Score: 0, Informative

      What does 'you don't learn to program in a vacuum' have to do with the statement 'you have to choose a programming language to learn with'?

      It was quite clear. To learn to program you must learn programming languages. Learning to program is not independent of learning a programming language.

      I learned QBASIC, then C, then Java, then Python, and only by the fourth stage did I consider that I'd learned anything close to 'how to program'. Had I started with R I'd probably be 10 steps behind where I am now. /quote

      Good for you, but this story is for non-technical people whose job is not as a programmer. The article isn't addressing you.

    6. Re:Just learn to program by Anonymous Coward · · Score: 1

      There is the complex issue of your first languages shaping your view on later languages, at least for the extremely common approach of not taking the time to fully grasp the later languages/programming models.
       
      Personally, though, I think 99% of people who don't want to be coders should only write bother with programming if their field of interest is likely to require it. I know so many full time programmers who are shitty at it, I don't understand the delusion that people who dabble in it are going to have anything other than a very superficial understanding. Technical/utilitarian knowledge of the programming is, for those people, the probably unreachable goal they should have their sights set on.
       
      If the idea behind teaching programming is for general knowledge, math and linguistics/foreign languages are a much better path as the ratio of thought-provoking concepts to technical issues is much higher. If people were pushing for computer-free programming classes -- e.g., algorithms and data structures -- it'd be a less clear choice, but no one's pushing that. I suspect that's because teaching strong analytical and critical thinking skills isn't what this is about.

    7. Re:Just learn to program by Lunix+Nutcase · · Score: 2

      My point is that learning one language will NOT teach you to program.

      But for a person who isn't a programming by career it teaches you more than enough.

      And don't tell me the article is for 'non-technical people', not me, because I was non-technical prior to learning a bunch of programming languages. 'Non-technical' is a choice, not genetic :P

      The article is for non-technical people. The quotes from the article writer explicitly say that. Also, it's great that you spent all that time learning a bunch of languages. The average person doesn't have that much time to invest if it isn't their career.

    8. Re:Just learn to program by Lunix+Nutcase · · Score: 2

      There is the complex issue of your first languages shaping your view on later languages, at least for the extremely common approach of not taking the time to fully grasp the later languages/programming models.

      Except the audience of this article isn't to people who will be learning a bunch of languages to become a programmer. It's for the non-technical business person who wants to learn a language that will help them in their job.

    9. Re:Just learn to program by MightyMartian · · Score: 2

      A lot of us older guys learned to code on first and second generation microcomputers, generally running BASIC variants. I suppose I learned plenty of bad habits in those old days, and the bit of 680x 8-bit assembly I dabbled in definitely did not help. But I remember the first proper computer science class I took in high school, and was introduced to TurboPascal. It was literally like I was basked in heavenly light and the harps, strings and voices of the Choir Eternal rained down upon me. I'm in my mid-40s now, and remember John Lennon being shot, saw the USSR fall and saw Hubble's first images of our incredible universe, but I tell you that that is the only paradigm shift I've experienced first hand, and quite frankly in that instant I dropped standard BASIC like a hot potato; switching to a structured BASIC dialect on my home computer (BASIC-09, which was essentially Pascal with BASIC-like syntax), and I never looked back. When I started working in OOP languages like Java, I found the transition much less hard, mainly I think because I had broken free of the chains of my first programming experiences. It's not that OOP doesn't have its own paradigms, it's just that once you learn a second language, particularly one so different from your first, you already are becoming a bit language agnostic.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    10. Re:Just learn to program by MightyMartian · · Score: 2

      For those people, I give Excel...

      My biggest fear is we're fostering the next generation of crap coders who leave behind a legacy of badly written crapola. My first professional work as a programmer was cleaning up VisualBASIC 4 code, and then a decade later, I was given the job of cleaning up PHP4 code, and the experiences were equally awful.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    11. Re:Just learn to program by Anonymous Coward · · Score: 0

      "The average person doesn't have that much time to invest if it isn't their career."

      I want to agree with you, I really do. But I see this as the biggest problem with our society today.

      Coding skills should be a mandatory part of public education.

      We don't complain that people don't know how to average a set of numbers, or determine the unit price at the grocery store, then say 'well average people don't have time to learn that stuff' but we try our absolute best to teach EVERYONE such basic skills.

      Programming should NOT be any different.

    12. Re:Just learn to program by Dutch+Gun · · Score: 1

      Language is not relevant? All languages are not created equal. They have very specific strengths and weaknesses related to the design of the language.

      I don't know why people always talk about programming languages in a vacuum: "I personally like x language, so I think people should learn it". Instead, it should be: "What are you interested in DOING with the language?" Just learning how programming works? Want to make web apps? Program an app for your iPhone? Create a computer game? Analyze and visualize a bunch of data? Build AI systems? Model physics or math equations? Interact with physical hardware? Tinker with an operating system?

      The answer to the question of "what do you want to do?" may point you to any one of a dozen different languages depending on how you answer.

      Also, I found this quote from TFA amusing:

      What is R? It’s the industry standard for data science & analytics. It’s also free.

      As opposed to all those other languages that cost thousands of dollars to purchase, right?

      --
      Irony: Agile development has too much intertia to be abandoned now.
    13. Re:Just learn to program by Anonymous Coward · · Score: 0

      Exactly. You don't ask people what they want to learn writing for before you teach them the alphabet. The basics of programming are fundamental, and the language shouldn't be chosen for the application but the teaching.

    14. Re:Just learn to program by Anonymous Coward · · Score: 2, Insightful

      I do believe R is a lot more practical than many languages people use and it does seem to be doable by those who cannot otherwise program. So the article probably has a point. If you want to get better at math and leverage computers for decision making, but can't be arsed to really get into how computers work, R is probably a good thing to check out. But if you like the ideas and capabilities it opens up - FFS, learn more languages.

      Why FFS should someone who only needs to analyse the performance of their business need to learn more languages after learning and applying their newly acquired R knowledge and skills? For many people writing code is not their passion much less their raison d-etre. If you had learned the R language, its libraries (packages) and the many presentation tools available, then maybe you would not have gone all religious on us.

    15. Re:Just learn to program by EmeraldBot · · Score: 3, Informative

      "The average person doesn't have that much time to invest if it isn't their career."

      I want to agree with you, I really do. But I see this as the biggest problem with our society today.

      Coding skills should be a mandatory part of public education.

      We don't complain that people don't know how to average a set of numbers, or determine the unit price at the grocery store, then say 'well average people don't have time to learn that stuff' but we try our absolute best to teach EVERYONE such basic skills.

      Programming should NOT be any different.

      What on earth is a non programmer going to do with that? You're comparing a highly specialized skill that takes years to learn compared to a basic instinctive skill that takes an hour at most. You shouldn't be comparing it to averaging numbers, you should be comparing it to forging. Everyone should learn how to craft a pan from iron! That's not quite an equal, as it actually would help most, but it's close enough. What should be taught is logic - that would actually help people to think systematically. Programming is just an application of that.

      --
      "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    16. Re:Just learn to program by Prof.Phreak · · Score: 1

      In that case, R wouldn't help them either. You really need to understand how you're solving the problem before you throw some R at it and suddenly get an answer.

      --

      "If anything can go wrong, it will." - Murphy

    17. Re:Just learn to program by Anonymous Coward · · Score: 0

      Basic coding skills does *not* take years to learn, and frankly if everyone is taught to solve equations, which they are, they should _easily_ be able to pick up basic programming too. It's a question of motivation, nothing else.

    18. Re:Just learn to program by ShanghaiBill · · Score: 1

      Basic coding skills does *not* take years to learn

      My son is in 4th grade. His class learned programming using Scratch. Within a few weeks, nearly all of the kids were able to write programs to solve specific problems.

    19. Re:Just learn to program by Austerity+Empowers · · Score: 1

      Learning how to "program" for many of us on this website means something entirely different for "programming" to non-technical people. I would wager that most non-technical people want to issue a series of fixed instructions to perform a series of actions and are looking for the big lever. They're not looking to write beautiful, well crafted code, that is efficient, maintainable and extensible.

      Learning a language to someone like this very much IS learning to program, to the extent they care. And it's good to know what to recommend such people. Previously I'd say something like "Visual Basic", and flog myself quietly afterwards, but in practice it's the best choice available, although still too involved for the intended application. I definitely would prefer something not microsoft to say so we can finally let that company die the death it so richly deserves.

      That said I'm not sure R answers the needs, but I haven't examined it carefully.

    20. Re:Just learn to program by Anonymous Coward · · Score: 0

      Basic coding skills does *not* take years to learn

      My son is in 4th grade. His class learned programming using Scratch. Within a few weeks, nearly all of the kids were able to write programs to solve specific problems.

      Taking a few weeks to learn a language and calling yourself a programmer is like taking a several week CPR course and calling yourself a doctor.

    21. Re:Just learn to program by amiga3D · · Score: 1

      Everything has to start somewhere. While learning CPR doesn't make you a doctor it does give you a basic life saving skill. Learning to code in something like Scratch doesn't make you a professional programmer but it does give you a set of tools to solve certain problems with. From there it's a matter of expanding your knowledge and developing skills.

    22. Re: Just learn to program by bsDaemon · · Score: 2

      Well, compared to Matlab or Mathematica, yes. Or compared to commercial products like Visual Studio. Or the hardware cost sink of having to buy a Mac to get the free Xcode to program for the iPhone/iPad/iPod....

      Not everything is gcc or clang on a free *nix

    23. Re:Just learn to program by ubrgeek · · Score: 5, Funny

      > My biggest fear is we're fostering the next generation of crap coders

      Really? Mine's clowns.

      --
      Bark less. Wag more.
    24. Re:Just learn to program by RightwingNutjob · · Score: 2

      I'm sorry, I didn't understand your second point because you had the wrong kind of linebreak in there.

    25. Re:Just learn to program by Anonymous Coward · · Score: 0

      No. It's like writing a story and calling yourself a writer. Which is perfectly reasonable.
       
          If someone codes a program, they are a programmer. No certification is needed, thank God.

    26. Re:Just learn to program by Anonymous Coward · · Score: 0

      So, that's all it takes in your world to call yourself a "programmer"? Knowing the basics? I guess you think someone to be a fully qualified surgeon if they know how to hold a carving-knife.

      Just take your straw man and go home.

    27. Re:Just learn to program by Anonymous Coward · · Score: 0

      No certification is needed, thank God.

      Which one?

    28. Re:Just learn to program by Anonymous Coward · · Score: 0

      Why would a "non-technical person" want to learn to program? Programming is technical. If you don't have a mind for that nothing good will come out of it. There's already too much bad code.

    29. Re:Just learn to program by shutdown+-p+now · · Score: 1

      Hence the suggestion of the article writer that they focus on something like R over Ruby/Javascript since it's likely to have more relevance to them.

      For this particular application, Python (combined with the scipy stack) would be pretty much just as good, and as easy (if not easier) to learn, but is otherwise a much more versatile and general-purpose tool.

    30. Re: Just learn to program by shutdown+-p+now · · Score: 1

      Visual Studio has had free editions for many years now.

    31. Re:Just learn to program by Anonymous Coward · · Score: 0

      but this story is for non-technical people whose job is not as a programmer.

      So by all means let's convince them that they have to have an understanding of statistics to be able to program anything. That will surely bring them running.

      Scene at a McDonalds:
      Customer: (After giving $10) "Wait, $6.12?, here's 15 cents."
      Clerk "What?"
      Customer: "I don't want all that loose change."
      Clerk "I've already punched it in."
      Customer: "Sure, but now just give me $4.03 instead of the $3.88 it's showing you."
      Clerk (slightly panicked) "Ummm..................I've already punched it in"
      Customer: "In your head, just add the 15 cents to my change"
      Clerk (slightly relieved) "Oh ok, sure. Here ya go" (hands the customer both $3.88 and 15 cents)

    32. Re: Just learn to program by jonnyj · · Score: 2

      A little programming can be a very useful thing.

      I'm an accountant and a Finance Director (CFO in US terminology). I don't code for a living, but I know a little R. That gives me a huge advantage: if I want to understand our sales stats or movements in yields, I can analyse the numbers myself. Normally, I have the luxury of asking someone in the team to do the job, but, sometimes when the question is ill-defined and open-ended, it's much more effective and efficient to go straight to the answer myself. Sometimes, if I'm brought some analysis that's 90% of what I need, it's easier and more efficient to complete it myself.

      Don't invent specious analogies about casting iron pots because you lack the imagination to see how tools could be used more widely.

    33. Re:Just learn to program by Anonymous Coward · · Score: 0

      That's what he said!

    34. Re:Just learn to program by Anonymous Coward · · Score: 0

      That is just fucking dumb. Coding skills should definitely not be mandatory education. Most people have little or no use for it. Math is mandatory education, and if you asked 10 random people on the street to do something basic like 3x + 5 = 10 more than half of them would probably fail.

      The majority of the world is not destined to work jobs where they actually have think. We'd be better off teaching them skills like basic plumbing, or how to change the oil in their car.

    35. Re:Just learn to program by kuzb · · Score: 1

      3 months after the class has ended, go back and see how many of them can still use it to solve basic problems. I'm betting more than half of them won't even remember how to do basic conditionals.

      --
      BeauHD. Worst editor since kdawson.
    36. Re:Just learn to program by Anonymous Coward · · Score: 0

      And do you know why that is? It's because the way the educational system is set up, there is no *need* to learn to learn any form of programming, and there is usually little to no _benefit_ in using it once your past the class.

      But claiming this means learning basic programming is useless is a fallacy, because this is a failing in the educational system, which is still fundamentally based in a pen and ink society, and very much caters to the needs of the 16th century clerk.

    37. Re:Just learn to program by Anonymous Coward · · Score: 0

      Indeed.

      But don't stop there. People don't just need to understand how they're solving the problem, they also need to understand the problem itself, the solution itself, how meaningful the solution is, and so on.

      People sometimes forget that R is relatively domain-specific. Telling somebody to learn R without telling them to learn basic statistics -- genuinely learn and understand the basics -- is a great way to sabotage a department or enterprise.

      All the R in the world won't help a manager, director, VP, whoever, if they don't understand the basics of statistical inference, statistical significance, practical significance, and so on. That kind of ignorance brings productivity ruin.

      Here's a hint for those who still don't get it... Numbers don't lie, but they can be easily misinterpreted. And business is not run by numbers; it's run by people who can use, abuse, or misuse numbers all they want.

    38. Re: Just learn to program by Anonymous Coward · · Score: 0

      You do ask if they need to read or write words, though. And that answer is yes, so you teach them the tool which does the job they need to do.

      Not everyone needs to program a computer or weld up a bicycle or grow their own food or repair a car or install a metal roof or do all of the other skilled trades. Using the product of a trade does not require knowledge of that trade, even if the tools are relatively easy to obtain.

      But, nice try with the analogy.

    39. Re:Just learn to program by ShanghaiBill · · Score: 1

      3 months after the class has ended, go back and see how many of them can still use it to solve basic problems. I'm betting more than half of them won't even remember how to do basic conditionals.

      Half may not remember, but the other half will. Even those that forgot, will still have a basic understanding of what programming is, and what programmers can accomplish. Most people learn algebra in school, but far less than half can solve a quadratic equation years later.

    40. Re: Just learn to program by Anonymous Coward · · Score: 0

      and after all that, as you stated, YOU ARE NOT A PROGRAMMER.

      news at 10 - learning a skill is valuable.

    41. Re: Just learn to program by Anonymous Coward · · Score: 0

      LOL your last paragraph is exactly whats wrong with this fixation on teaching everyone code.

    42. Re: Just learn to program by EmeraldBot · · Score: 1

      A little programming can be a very useful thing.

      I'm an accountant and a Finance Director (CFO in US terminology). I don't code for a living, but I know a little R. That gives me a huge advantage: if I want to understand our sales stats or movements in yields, I can analyse the numbers myself. Normally, I have the luxury of asking someone in the team to do the job, but, sometimes when the question is ill-defined and open-ended, it's much more effective and efficient to go straight to the answer myself. Sometimes, if I'm brought some analysis that's 90% of what I need, it's easier and more efficient to complete it myself.

      Don't invent specious analogies about casting iron pots because you lack the imagination to see how tools could be used more widely.

      Perhaps I'm ignorant of how exactly accounting works (in which case, feel free to tell me, I do not work in finance for a living), but if you're using R like that, it's essentially a glorified graphical calculator, no? I dispute labeling that as general purpose programming. And even if we assume it is, accounting is something I doubt is anywhere close to the most common job. I'd say something like a janitor or waiter is, and how is knowing how to program going to help there?

      --
      "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    43. Re: Just learn to program by jonnyj · · Score: 1

      R as I use it is essentially a glorified calculator, but it's definitely not a graphical one - although it can produce very high quality graphic.

      I'm not sure what you mean 'general purpose programming'; in fact, I'm sceptical that any such concept has any meaning. If you're asking if I'm structuring a large code base, I'm certainly not doing that: I rarely get beyond 100 lines of code, and, due to the nature of R, I can't even recall the precise syntax of a For loop (there's a saying that if you think you need a loop in your R code, you're not doing it right). I've never created a class in R, and I rarely even need to define new functions.

      But R is incredibly useful to my day job. That's why I agree with the proposition posted in the original article. Coding doesn't have to be general purpose to be valuable.

    44. Re:Just learn to program by Anonymous Coward · · Score: 0

      I am glad you said that. I agree, Python is full of unique syntax that translates to no other mainstream language.

      Unfortunately my kids' school has chosen Python.

  2. Nothing to see here by phantomfive · · Score: 5, Insightful

    CEO of data analysis company suggests people learn data analysis language.

    In other news, CEO of Erlang Solutions thinks Erlang is great. No word on why.......

    --
    "First they came for the slanderers and i said nothing."
    1. Re:Nothing to see here by Lunix+Nutcase · · Score: 2

      CEO of data analysis company suggests people learn data analysis language.

      Because data analysis is a large part of many businesses and many that don't do extensive data analysis probably should be. So there isn't really anything that extraordinary or silly in his recommendation.

    2. Re:Nothing to see here by dinfinity · · Score: 4, Interesting

      Yeah, I'm pretty sure that learning Visual Basic and 'programming' in Excel will actually give you an edge on your business professional peers.

      Last time I checked, Excel was the hammer of choice for most businesses (maybe combined with SPSS), not R (I'm not sure if any business even uses it).

      Ironically, if you focus on Google Spreadsheets, learning Javascript (and the Google APIs) is what is required if you want to do more advanced stuff.

    3. Re:Nothing to see here by phantomfive · · Score: 4, Insightful

      It's silly because "if you're simply a business professional looking to gain an edge on your peers," then R is not the language to choose. He said it because he's trying to raise the profile of his company (which is what CEOs and co-founders do).

      Now, if he had a well reasoned argument to support his choice, I would be really interested in reading it, but I can't find it among the maze of links in the summary. Incidentally, his company offers courses in R, so if you've recently decided you want to learn it because the co-founder of a startup recommended it, there's a convenient place you can go to learn it.

      --
      "First they came for the slanderers and i said nothing."
    4. Re:Nothing to see here by itzly · · Score: 1

      Except that this doesn't mean regular people should be learning R. Rather, the business should hire somebody's who already has a background in data analysis/statistics, and probably also already a knowledge of R (or at least can pick it up quicker).

    5. Re:Nothing to see here by war4peace · · Score: 2

      Yeah, I'm pretty sure that learning Visual Basic and 'programming' in Excel will actually give you an edge on your business professional peers.

      I did (learn VBA) and did (use it to program in Excel) and it did (give me an edge over my peers).
      Now I am dipping my toes in C++ for a specific project (game using Unreal Engine).

      --
      ...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
    6. Re: Nothing to see here by K.+S.+Kyosuke · · Score: 1

      Either that, or the local Pythonistas could simply install some of the many Python data analysis packages.

      --
      Ezekiel 23:20
    7. Re:Nothing to see here by Anonymous Coward · · Score: 0

      CEO of data analysis company suggests people learn data analysis language. In other news, CEO of Erlang Solutions thinks Erlang is great. No word on why.......

      it is worse than that. The CEO of a company that tricks suckers into performing other company's data analysis problems and lures people to its site with promises of learning R tells people to learn R. Duh. Thank you slashdot for this commercial message.

    8. Re:Nothing to see here by Anonymous Coward · · Score: 0

      R is mostly used in the financial world. Stock trading, futures trading, bank shit, and similar stuff. If you're in to that stuff and planning on working for companies in that space then R is useful to know. Be warned though, it takes a certain personality to thrive in that environment and many true programmers will be put off.

    9. Re:Nothing to see here by shutdown+-p+now · · Score: 1

      Last time I checked, Excel was the hammer of choice for most businesses (maybe combined with SPSS), not R (I'm not sure if any business even uses it).

      Now that Microsoft has acquired Revolution Analytics, who's to say it's not going to be Excel and R? Those two have some pretty natural integration points.

    10. Re:Nothing to see here by fizzer06 · · Score: 2

      So if I just hold the sack open all night, the snipe will run into it?

    11. Re:Nothing to see here by anmre · · Score: 1

      Totally with you on this one. The thing about VBA is that every business manager uses Excel + Outlook. Work smarter, not harder. Automate the tedious drudgery in Excel and you become indispensable.

    12. Re:Nothing to see here by Anonymous Coward · · Score: 0

      It's silly because "if you're simply a business professional looking to gain an edge on your peers," then R is not the language to choose.

      May I ask what you chose or would choose? (Genuine question, btw.)

      I don't know what business professionals would choose, but some of the statisticians and mathematicians I know switched from R to Matlab for their stats work.

    13. Re: Nothing to see here by Anonymous Coward · · Score: 0

      I work for a very large insurance company / bank in the US, and our data scientists use R for quite a bit of analytic stuff. They also use python.

      So, at least you now know that people actually use it. And we're probably hiring.

    14. Re:Nothing to see here by Anonymous Coward · · Score: 0

      Yep. And if a manager, director, CxO, VP, whatever decides to learn R because the company can't afford to hire somebody with a background in data analysis or statistics, then that manager, director, CxO, VP, whatever may want to consider courses in data analysis or statistics and learn R concurrently. Many courses in those areas will use R anyways.

      And if the manager, director, CxO, VP, whatever chooses "data analysis" instead of "statistics", that manager, director, CxO, VP, whatever may want to choose a course taught by a genuine, honest-to-goodness statistician who understands statistics. Statistics has been around a while whereas data analysis is a fad these days and one has to be wary who's looking to just cash in.

      Disclaimer: I am not a statistician. However, I had to deal with the likes of people who didn't even understand what's covered in section 1.1 -- yes, section 1 point f**king 1 -- in Devore's introductory Probability and Statistics textbook. If somebody doesn't understand what's covered in the first section of the first chapter of an introductory probability and statistics course, a course in R won't help.

      This is assuming it's somebody who wants the job done properly. If all they want is something for their C.V. and a few buzzwords in an interview with other people who don't know any better, then yeah, R is a great thing to learn. Just don't move into a "leadership" position with any company I work for.

    15. Re:Nothing to see here by phantomfive · · Score: 1

      May I ask what you chose or would choose? (Genuine question, btw.)

      TBH I would spend my time on something other than learning to program. Go through some Zig Ziglar training or something.

      --
      "First they came for the slanderers and i said nothing."
    16. Re:Nothing to see here by war4peace · · Score: 1

      That's exactly what I did. People have been using my scripts for years and come to me for enhancements.

      While nobody's really indispensable, it's always good to be hard to replace :)

      --
      ...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
    17. Re:Nothing to see here by Anonymous Coward · · Score: 0

      I work for a rather large company, (Dow Jones Industrial large). They use Excel and for what needs to be automated the lang of choice is C#.

      So, if you don't have much time to learn everything that is obscure with the hope of guessing right, learn to code in Excel, or VB.
      Use visual studio express for free versions. You can do a lot in VS Express.

      Access is STRONGLY discouraged. Actively discouraged. With extreme prejuidice.

    18. Re:Nothing to see here by anmre · · Score: 1

      Yea you're right about that. I misspoke about being indispensable -- I was actually laid off suddenly from my position at a fortune 500 about 2 years ago. Two weeks later I got a text from my ex-supervisor asking me for the macro passcode to the spreadsheet I used daily to hook into SQL Server, run SQL scripts and email dashboard reports to 30 people (including accounting and warehouse managers). I got a kick out of that one!

  3. The problem is... by p.g.king · · Score: 1

    The normal problem is that the majority working with spreadsheets as the summary suggests never do enough of it to get good or understand what's bad.

    I remember Y2K and being handed a ruck load of foxbase code a team had written to make work for Y2K, since it was now ITs problem to sort it all out. The easiest thing to do with much of it was scrap it and rewrite it to do what they actually thought it did rather than what was coded.

  4. Learn math and probability theory by Anonymous Coward · · Score: 1

    If you don't know what you're doing fancy tools will just get you in trouble.

    As for R, well your mileage may vary. I bought slew of books and spent some time with it. Unfortunately using procedures that were not ready for prime time. So I went back to using other tools that were reliable and actually provided some information about what was wrong if it didn't work. Of course, I can code in several languages and have forgotten a few others (e.g lex & yacc).

  5. I've been thinking of learning R by Anonymous Coward · · Score: 0, Troll

    Learning Java, Ruby and other mainstream languages has meant I receive nothing but constant bother from one recruitment firm after another spamming me with vacancies. So I intend to wipe every skill off my public profile on places like Linked In except R. I could do with the holiday from the attention.

  6. R is fine if you're in love with statistics by unimacs · · Score: 4, Interesting

    Otherwise, I'm not sure it's a great choice. For the typical business person who's interested in coding you might as well start with VBA in Excel or Google Apps Script if you've moved away from MS Office to Google's business apps. Google Apps Script is javascript based so you have the advantage of learning something that has other applications.

    R is very good at manipulating and plotting data but the charts produced aren't always of the highest quality. They're fine for internal use. There are lots of packages to extend the usefulness of the language but at its heart and soul it's about numbers and plots. It's not really a general purpose language. Just keep that in mind.

    1. Re:R is fine if you're in love with statistics by spauldo · · Score: 3, Insightful

      Exactly.

      For the average person working at a medium-to-large company (or even small ones, really), VBA (or whatever scripting language your office suite uses) will be much more valuable than R.

      Back when I still cared about such things, you also could do wrong with stuff like Crystal Reports and learning to actually use MS Access. The PHB doesn't understand code or programming - they don't mean anything to him - but if you can hand him the data that he wants in a beautiful format and make his spreadsheet jump through flaming hoops, he'll be impressed.

      --
      Those who can't do, teach. Those who can't teach either, do tech support.
    2. Re:R is fine if you're in love with statistics by spauldo · · Score: 1

      Derp. Never do wrong, not also could do wrong. Shouldn't post to slashdot before coffee.

      --
      Those who can't do, teach. Those who can't teach either, do tech support.
    3. Re:R is fine if you're in love with statistics by Anonymous Coward · · Score: 0

      Coding to better understand data would help everyone

      Well, the problem statement is quite different from a general purpose use. Excel add-ons do provide things like CUDA acceleration from a compact network attached accelerator cluster so that route is indeed useful as well.

    4. Re:R is fine if you're in love with statistics by Anonymous Coward · · Score: 0

      Exactly.

      For the average person working at a medium-to-large company (or even small ones, really), VBA (or whatever scripting language your office suite uses) will be much more valuable than R.

      Back when I still cared about such things, you also could do wrong with stuff like Crystal Reports and learning to actually use MS Access. The PHB doesn't understand code or programming - they don't mean anything to him - but if you can hand him the data that he wants in a beautiful format and make his spreadsheet jump through flaming hoops, he'll be impressed.

      Except R gives you more power and better quality than any "office suite". With R you get vectorized calculations and column based data table not limited to 1mln rows. If you grasp some additional data analysis and programming concepts then you can transform data and produce dozen of various plots in few seconds. Plus you get a lot of basic stat by default. Good luck doing this in VBA.

    5. Re:R is fine if you're in love with statistics by spauldo · · Score: 1

      That's certainly very true, except for the "good luck doing this in VBA" thing. VBA is turing complete. It might not produce dozens of plots in a few seconds, but it certainly can produce the same plots. I'm not doubting R's ability to do what it was designed to do - I'm doubting its applicability to the average office worker.

      Imagine you're a random drone working in HR for a company producing nozzles for squirt bottles. You do a lot of work in Excel because hey, it's the lingua franca of the business world. VBA and Access can:

      a) automate many of the boring, repetitive parts of your job
      b) allow you to do many more things with your data than vanilla Excel is capable of
      c) impress your boss and coworkers, which if you play the rat race, is the most important thing

      Something like Crystal Reports (again, I have no idea if it's still used, I'm a decade and a half behind in the business world) can turn your spreadsheet printouts into beautiful documents. VBA can be used along with Word to do this too, and would be an option if you don't have access to a good reporting suite.

      Oh, and good luck convincing the IT guys to add an R environment to the software they allow on the corporate network. VBA is on every corporate machine that has Microsoft Office.

      The only real downside I see to VBA is the fact that it's a horrible abortion of a language that makes you want to stab yourself in the eyes rather than program in it. Or maybe that's just me.

      --
      Those who can't do, teach. Those who can't teach either, do tech support.
    6. Re:R is fine if you're in love with statistics by Anonymous Coward · · Score: 0

      That's certainly very true, except for the "good luck doing this in VBA" thing. VBA is turing complete. It might not produce dozens of plots in a few seconds, but it certainly can produce the same plots. I'm not doubting R's ability to do what it was designed to do - I'm doubting its applicability to the average office worker.

      If you want to learn programming, while being average office worker, do not waste your time on learning Python (better language, but still chasing R's data analysis capabilities) or VBA (nicely integrated with your office suite, but shitty language getting into your way whenever you want to do something valuable), but try R. We are talking about people who really want make an effort, don't we?

      [...]

    7. Re:R is fine if you're in love with statistics by Anonymous Coward · · Score: 0

      I don't know R, but I have been using Microsoft Azure a lot more recently (than before), and it looks like R is available/used in all Microsoft's big data tools. I work at a very big company, and big data is becoming an increasingly more important topic in our IT landscape.

  7. javascript continues it's relentless march by circletimessquare · · Score: 2

    because it was positioned early in the browser's evolution

    that's the big secret

    it has no other advantage (well, familiarity with syntax, if you want to advance to java/ c++/ c# i suppose)

    now you can write iOS, Android, and Windows code single source with Apache Cordova, and code on the server with node.js

    javascript marches on

    meanwhile, those who have a pathetic arbitrary need to feel superior have to crap all over javascript and steer beginners away from the language that actually will advance them, in favor of brittle niche choices? why?

    javascript has plenty of obvious, longstanding problems and weaknesses

    and? who gives a fuck. what language doesn't?

    and especially for noobs, it is a great introductory language and should be the primary language for all programming neophytes to learn because of its immediate applicability and, yes, simplicity. a lightweight scripting language is what you want to teach beginners, not how to write an OS

    later on, if they become professional programmers, maybe then they can develop fetishes for esoteric languages and derive an artificial sense of superiority from that as well, like some of you assholes

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:javascript continues it's relentless march by Anonymous Coward · · Score: 1

      why not javascript?

      because shit breaks. and it doesn't make any sense.

      its everywhere, and you can make pictures and games with it....so yeah, big leg up.

      but once you get past the first 200 lines and something doesn't work. at all. then someone is
      either so stubborn the push through it after hours of flailing, or they decide that programming
      just sucks

      assembly is actually much easier to learn than js

    2. Re:javascript continues it's relentless march by circletimessquare · · Score: 2

      not sure if joke, troll, or serious, but thanks for the laugh

      --
      intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    3. Re:javascript continues it's relentless march by Anonymous Coward · · Score: 0

      truth

    4. Re:javascript continues it's relentless march by Anonymous Coward · · Score: 3, Interesting

      javascript has plenty of obvious, longstanding problems and weaknesses and? who gives a fuck. what language doesn't?

      C++ has problems and weaknesses. Java has problems and weaknesses. C# has problems and weaknesses. Python has problems and weaknesses.

      JavaScript doesn't have problems and weaknesses, it's a disaster from beginning to end.

    5. Re:javascript continues it's relentless march by phantomfive · · Score: 1

      later on, if they become professional programmers, maybe then they can develop fetishes for esoteric languages and derive an artificial sense of superiority from that as well, like some of you assholes/quote? lol I'm glad you include yourself in there with the rest of us.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:javascript continues it's relentless march by Anonymous Coward · · Score: 0

      javascript has plenty of obvious, longstanding problems and weaknesses

      and? who gives a fuck. what language doesn't?

      And, for the most part, Javascript's weird behavior can just be avoided. The semantics of "with" are complicated and poorly designed? Okay, then don't use "with". Ever. Problem solved.

      If anything, the biggest problem with Javascript for large projects is the lack of type checking, but (1) it's not a big deal for beginners writing small programs and (2) there's plenty of ways to tack it if you do want it.

  8. YOU WANT THE R, BABY? by Anonymous Coward · · Score: 0

    YOU CAN'T HANDLE THE R

  9. R is not a programming language by rockmuelle · · Score: 5, Insightful

    It's a statistical computing environment. R is much closed to what VB was pre-VB6 - a loosely defined domain specific language with lots of libraries aimed at a specific task. It's not really a general purpose programming language and not a great one to learn if you want to learn to program.

    If you do a lot of number crunching and want to move beyond Excel, R is a great choice (as is matlab, s-plus, or any of the others aimed at analytics).

    If you do analytics AND want to learn to program, go Python and NumPy/Pandas.

    If you just want to learn to program, VB, JavaScript, Python, Java are all good. Just find what you'd like to program and see what languages people are using.

    And yes, at some point, pick up a few more languages if you find you like programming.

    -Chris

    1. Re:R is not a programming language by umafuckit · · Score: 4, Insightful

      Exactly. Terrible as a programming language. Telling someone to learn R is basically the same as telling someone to learn statistics and analyse their data properly.

    2. Re:R is not a programming language by Anonymous Coward · · Score: 0

      I think this article is a sign that R just jumped the shark. If it's being recommended to business professionals who don't know how to program and being compared to VB, something has gone haywire in terms of being overhyped.

      I've been using R since it was in beta, and more people were using lisp (in the form of x-lisp-stat) for numerical computing than R. R is great, but it also has tons of problems. It's puzzling to me that R is being taken up in the way it is, rather than being migrated away from to something else. Julia is the closest contender at the moment, but still has a C layer underneath it, and it doesn't seem to heading toward bootstrapped compiler territory anytime soon (why do I care about that? Because some things, to really be optimized as much as possible, require a C wrapper, and then you might as well wrap something more widely used around it, like R or Python). With all of the advances in programming language design and implementation it seems like there'd be something better out there, like Go but more numerical computing-friendly (e.g., generics, overloading). For a moment I thought OCaml might be it, but it never took off. Meanwhile C keeps reinventing itself, and never really looks that much more onerous than any of the other languages on menu.

    3. Re:R is not a programming language by umafuckit · · Score: 1

      The other thing I don't get about this article is that to use R you need a pretty good understanding of statistics. It doesn't hold your hand. I know plenty of practising scientists who would be unable to use R because they don't understand their analyses properly. How the hell "business professionals" would benefit is beyond me.

  10. Ruby yes, Javascript no. by MouseTheLuckyDog · · Score: 1

    First of all teaching people to code in Javascript is litterally to condem them to years of demented reasoning.

    Ruby OTOH has basic structures which work well together in simpliefied structures ala Smalltalk, so that's n ot a problem. If you need R's capabilities just add on R's libraries.

    There are many languages such as Ruby where learning the basic constructs for use as a DSL is a good idea.

  11. this is just nonsense. by rogoshen1 · · Score: 4, Insightful

    This is just taking the facile view that coding is a means to an end. Step 1: learn to code Step 2: ???? Step 3: 90k year job at a startup. =/

    It's no different than saying "all the good jobs require a college degree, therefore we should put EVERYONE through college, then everyone will get good jobs". No.

    Telling kids that the key to getting a good job is by learning ruby, or JS, or whatever language; is just going to create an environment where there's a glut of substandard ruby and JS coders out there.

    If you want kids to be successful, teach them to learn, and to think for themselves -- their interest and ambition is what will be the deciding factor, not cramming CS-lite education down their throats. Because, you can create shitty developers out of people who have no interest in the field, and are only there for a paycheck... but what's the point?

    1. Re:this is just nonsense. by circletimessquare · · Score: 3, Insightful

      in school, they expose children to calculus, music, biology, chemistry, physics, sports, etc.

      how many become statisticians, jazz trumpters, geneticists, chemical engineers, cosmologists, professional basketball players, etc?

      this reasoning "don't teach programming or we will have a glut of substandard programmers", is, i'm sorry, stupid and i am extremely tired of it. it comes from this place of vain smug exclusivity which is self-serving, mindlessly arrogant, and ignorant of the wider world

      we must expose programming to every single child in every single school

      why?

      because it is now a fundamental building block of the world they live in, and they should know the basic ins and outs

      just like math, music, sports, chemistry, biology, etc.

      and if some of them want to pursue programming? well now you've also clued in some kids you would have missed. some will suck at it even though they pursue it? oh, this is a new concept to you?

      is teaching every kid gym mean professional basketball teams have to cope with a glut of bad basketball players? is teaching every kid chemistry mean pharmaceutical companies have to weed through too many substandard chemists? does teaching physics mean NASA and private space companies are suffering due to too many resumes from physics idiots? do you how see fucking ignorant that sounds?

      there is no damage, none, zero, and only upside, to more knowledge

      and you are an arrogant with a false sense of superiority, the true uneducated one (on matters of basic social reality), if you think otherwise

      --
      intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    2. Re:this is just nonsense. by rogoshen1 · · Score: 2

      I never said don't teach programming, or logic, or problem solving. (Teaching Pascal for example, goes back a looong ways.)

      My point was simply that programs like this treat coding as something that can be produced on an assembly line. It is the exact same thing as the push towards university education in the US. Yes you can confer many more degrees with a watered down, commoditized curriculum -- but the value of the 'thing' you were wanting more of, is now diminished.

      Further, coding as a fundamental building block of the world we live in? How on earth do you figure that? I know I'm likely in the minority for holding this view on a technology website; but we still live in a very human oriented world -- the interaction between people is what matters. If you want a kid to be successful, teach them basic problem solving, logic, and how to interact with other people.

      (Also since coding is one of the last fields where autodidaction is still possible, and not laughed out of the interview by some HR goon, your examples of NASA or a pharma company are pointless.)

    3. Re:this is just nonsense. by circletimessquare · · Score: 1

      programming is a fundamental building block of our world now. i really don't know what to say to someone who doesn't understand that

      --
      intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    4. Re:this is just nonsense. by rogoshen1 · · Score: 1

      You could start by explaining how you came to that conclusion? Repeating an assertion doesn't necessarily make it true (or convince anyone that they should agree with it.)

    5. Re:this is just nonsense. by circletimessquare · · Score: 1

      i have trouble trying to explain it because i can't fathom a person who would speak on this topic and not understand such a simple point

      how about this:

      how many functional adults in the western world do you know who does not have a smart phone? does not use a computer? soon code will be driving our cars

      how does it work? how does code work?

      that knowledge is therefore now a fundamental aspect of modern existence

      --
      intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    6. Re:this is just nonsense. by budgenator · · Score: 1

      Programing is simply give formal instructions to perform a desired goal, then of course validating that the following instructions achieves the result. If the average person could actually give and follow simple, clear and consise directions, the world would be a far better place; or at least microwaves and VCR wouldn't flash 00:00 all of the time.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    7. Re:this is just nonsense. by rockmuelle · · Score: 1

      Bricks are also a fundamental building block of our modern world. But I'll be damned if I know how to make one.

      Not everyone needs to know everything. I love to code but I also appreciate that my friends who build houses for a living could give a shit about learning to code.

      I'm amazed that people on a tech forum don't get that.

    8. Re:this is just nonsense. by circletimessquare · · Score: 1

      apparently you never played legos tinkertoys or lincoln logs as a child

      --
      intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    9. Re: this is just nonsense. by Anonymous Coward · · Score: 0

      Speaking if ubiquitous cars, I recently straightened a bent frame; cut out, formed, and welded a patch panel to repair some rust; repainted the entire body; rebuilt a slipping automatic transmission; and assembled an engine that needed machined.

      "Everyone" either has cars or rides on a bus or train or plane eventually, and I know how to work on them. So, as welding, auto body refinishing, and machine work are all intrinsic building blocks of daily life, we need to be exposing everyone to these things in schools.

      I can do one for home construction or concrete forming or electrical power generation or textile manufacture or agronomy if you're still missing the point as to how using a product is different from making a product.

    10. Re:this is just nonsense. by rockmuelle · · Score: 1

      Feeding a troll here, I know...

      I'm pretty sure I had more Legos than you growing up. But, I didn't make the Legos, I built with them. I also was never under the delusion that my lego skillz would translate to a job building lego buildings. It was a fun, creative activity that required allow no learning and occupied most of my childhood.

      The current push for everyone to program is the exact opposite of that. Learning to program for all but us autodidactics requires coursework and commitment. Sure, once you can do it it's a lot of fun. But, to keep the lego analogy going, it's like require a basic understanding of mechanical engineering before being allowed to use Legos (sorry Susan Williams - they'll always be Legos, not lego bricks).

    11. Re:this is just nonsense. by Anonymous Coward · · Score: 0

      we must expose programming to every single child in every single school
      there is no damage, none, zero, and only upside

      What. the actual. fuck.

      Putting children anywhere near a computer is practically child abuse.

      When I was a kid in the 90s, you made do with whatever children's educational books you had, and you read them over and over until you knew every single thing. Nowadays with the Internet, you never look at the same educational web page twice. So how will the knowledge ever stick? It's the equivalent of getting a new book every day, before you've even finished the other one. Every adult should know this is ridiculous.

      And as for the specific topic of programming. I didn't start using computers until I was about 13, didn't start programming computers until I was about 15, and I don't think I've suffered in the department of technical skills.

      There's a lot to be said for keeping children away from computers until they're that age. They can do normal kid stuff until then. And then once they're a teenager and the logical side of the brain is more developed, you can start them out with C or something, which is a pretty good first language as long as you have a teacher for it.

      Even then, it should be something people opt into.

      The only "MANDATORY COMPUTER PROGRAMMING IN PRIMARY SCHOOLS" curriculum I've seen that I've liked is the Finnish one, which doesn't have an actual computer in it.

      I don't think you made a good point for that type of thing. You only disputed that other guy's point, which isn't the same thing as disputing all possible arguments against giving children computers.

  12. Easy Answer by Anonymous Coward · · Score: 0

    >So, did Mark Zuckerberg steer 100 million K-12 coder wannabes down the wrong path with the JavaScript and Ruby preaching?"

    Yes. Javscript is a terrible language and ruby is dying. Also,default ruby is a terrible runtime. Maybe learning R is the right answer, I doubt it. Learning python 3 or scala seems like a better use of a non-programmer's time. Both will teach you to think like a programmer and have easy enough syntax that you're never left wondering if you need another ;, *, or & to fix your problem. Neither drown you in verbosity like LanguageNameFactory.getInstance().getLanguageName(). Python even has the advantage of being both useful and common.

    Once you know how to think like a programmer, then you can learn whatever language you need. Be it powershell, c#, java, c, or, yes, even Javascript.

  13. Mark lead them... by BlackHawk-666 · · Score: 3, Insightful

    ...by the nose, straight to his own end goal - a larger pool of cheap labour skilled in the basics needed to produce web applications. By increasing the supply, they can take advantage of market economics to vastly reduce the amount of money they need to offer these people.

    I'm not saying they shouldn't learn JavaScript, it's a good place to start and is pretty ubiquitous. It's just lucky for Mark that they are pushing JS and Ruby, very lucky.

    Honestly though, saying all those people need to code is like saying I need to learn how to write a sonata in order to listen to music.

    Most people would be capable of pushing out a few snippets of code, mostly cribbed from some website - but will flail and cause incalculable damage when they think they have 'da mad skillz bro' and start to write hundreds of lines directly running SQL script from the web page. I've seen the results when an accountant decides their use of Access and Excel means they can code big systems. It wasn't pretty, it broke down frequently, it had dozens of manual steps and adjustments to make each month and it took 5 hours to run. I left that job the second I could.

    --
    All those moments will be lost in time, like tears in rain.
    1. Re:Mark lead them... by colinwb · · Score: 1

      "Honestly though, saying all those people need to code is like saying I need to learn how to write a sonata in order to listen to music."

      You don't need to learn how to write music to appreciate music. But if you do it's likely you will appreciate music much better. And if you want to be a performer I - and musicians I've spoken to - think it's a *really* good thing for performers to learn how to write music even if your career will be only performing, not composing: it gives you a different way of looking at music. If you go back to the 19th and 18th centuries (and probably before then) it was common for performers to also be composers. This seems to have become less common as the 20th century progressed, but - hopefully - is now reversing.

      So, yes, learning to write a sonata is an excellent idea if you want to *really* *listen* to (as opposed to hear) music.

      Whether this reasoning applies to coding is a different question, probably needing a different answer. Has anyone on this topic yet posted a car analogy?

  14. Business professionals doing data analysis by ichabod801 · · Score: 1

    Should study SAS instead, if they want "to gain an edge on their peers." R is dominant in academia, but SAS is dominant in business and government. Assuming you're not an Excel wizard already. Whether you use R or SAS, you will be interfacing with your co-workers through Excel.

    1. Re:Business professionals doing data analysis by Anonymous Coward · · Score: 0

      Serial Attached SCSI?

      Substance Abuse Services?

      Scandinavian Airline Systems?

      Software As a Service (which would actually make sense)?

      The important lesson is that anyone stupid enough to name their project a three-letter acronym prefers cute over clarity, and the way to make money is to sell them the wrong one and *run away*.

  15. Know Your Objective by MakerDusk · · Score: 2

    The problem in our Chris-Bosh-codes-so-should-you society is that people learn to code without first asking "for what purpose do you want to use code?" What in your day-to-day work could you actually automate using code?

    That right there summarizes the main issue. In my experience, far too many approach programming with the I'm going to learn programming mentality. This is fundamentally flawed, since there is more computer science than one can possibly hope to learn in a life time. It very much all comes down to having the fundamentals (an online course in any language will work for this) and then settling down to working towards an objective. Your objective doesn't need to be anything grand: you are far better off starting small. Little scripts to make your life easier: at home, and in the office.

    Once you have an objective in mind, your best friend is the help function for your chosen language. Programming isn't about having everything memorized, it's about effective research applied to solving a problem. One need only work out a decent research methodology once, whereas one can work out infinite ways to solve a given problem programmatically. Writing code with decent headers in your functions lets you call up help, even on your own code. In short, you end up making your own help, based solely on your own programming style. This helps for specific functions, but when you get stuck, unsure of what you need to do: google. Chances are there exists a stackeoverflow post that will steer you in the right direction, if it doesn't outright show you what you need. Once you get an idea, you can also refine your search, often pulling up examples.

    The main thing to keep in mind is that you will always be learning. There is always a better way to achieve the same objective, however achieving the objective is what matters. Don't get caught up trying to repeatedly make the code better: instead, push on to completing the first version first. This is a trap that consumes a lot of people just starting off. You'll never finish, if you keep on restarting, and what really matters is that the code works properly.

    PS: I did not mention testing, since everyone has their own way of including such. Starting off, debugging will be enough to wrap your head around. Just keep in mind that at some point you will need to work testing into your workflow. Automatic testing makes it easy to write better versions of your code, since you'd be able to see if your tweaking broke anything.

    1. Re:Know Your Objective by Anonymous Coward · · Score: 0

      Did your elementary school teacher ask you if you saw yourself more as a short story author, a poet, a journalist or a marketer, so that you would be taught how to read and write the right way for your objective? Learning to program to a level where you'll know if you'll do it in a pinch or keep asking someone else to do it is like learning the alphabet, syntax, grammar and punctuation. You learned most of that without a "pet project". The examples you were given weren't chosen for their applicability to your future profession, they were chosen to help you understand the fundamental aspects of using written language.

  16. R is great for quick data calculations by Anonymous Coward · · Score: 0

    If one takes the time to learn it, it can be quite productive.

    For example, the following one liner will all read tab-separated files in a directory to data frames, combine all columns and rows to one data frame, then write to a tab separated file:

    write.table(rbind.fill(lapply(list.files("."), read.delim)), sep="\t")

    1. Re:R is great for quick data calculations by unimacs · · Score: 1

      If the files are all already tab delimited wouldn't it be easier to concatenate them together from the command line like this?

      cat *txt > all.txt

    2. Re:R is great for quick data calculations by MakerDusk · · Score: 1

      It would be, if you were just looking to join all the text files. However, let's be honest: most people looking to get into programming would vacantly stare at you, with that glazed over look... you know the one... if you asked them to pull up a terminal. Then comes the show of hands for who, in the class, knows how to use linux. For added entertainment, one could ask one of the students to explain linux. (Yes, I know that that's an evil trick question, only ask it if you can keep a straight face ;)

    3. Re:R is great for quick data calculations by unimacs · · Score: 1

      Their eyes wouldn't glaze over looking at this?

      write.table(rbind.fill(lapply(list.files("."), read.delim)), sep="\t")

      That's a lot of operations to complete a simple task. Here's an alternative for DOS if you don't like linux:

      copy /b *.txt newfile.txt

      I'm sure it could be accomplished in a more straight forward manor in powershell too. I guess I just don't find it a compelling example of how R can increase your productivity. I see it as an example of code that's not very readable. ;) Now, I don't remember enough R to know that if the files have headers and the columns are in a different order in each file if that command would automatically put them together with the columns sorted out. That may be something R could do easier than other scripting languages.

      Though lots of people never venture into the world of the terminal, it's actually easy to explain what it does and how to use it, - simpler to explain than what all the windows in RStudio are for.

  17. But but but by wonkey_monkey · · Score: 1

    Go R, Young Man

    But it's not International Talk Like A Pirate Day for months!

    --
    systemd is Roko's Basilisk.
  18. learn Python instead by NostalgiaForInfinity · · Score: 1

    Don't learn R, learn Python instead. Like R, Python has tons of support for statistics, numerical computing, and machine learning, and pretty much whatever you want to do in R, you can do just as easily in Python (with matplotlib, SciPy, pandas, and a few other packages). Unlike R, Python is also widely used for general purpose programming as well.

  19. Actually, this will help women by BarbaraHudson · · Score: 1

    "Go R, young man" - what is the end result? A surplus of men who have irrelevant knowledge (not just in programming, but in R of all languages) while women go on to become life-long careers as doctors, etc. (as opposed to "you're too old to develop software" at 40).

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    1. Re:Actually, this will help women by unimacs · · Score: 1

      It sounded like the article was pushing a career in data analytics using R as a tool as much as anything else. Those people might have a longer shelf life than a typical programmer but yeah, they should be ready to move on to something else before R starts to become irrelevant. It's hard to know when that will happen. It's already been around a long time and seems to be getting more popular.

    2. Re:Actually, this will help women by BarbaraHudson · · Score: 1

      The problem is data jobs don't scale, same as many other jobs. Let's take an old-style job - newspaper reporter/editor/etc.

      100 times the population will not support 100x the jobs in that industry, as individual newspapers grow market share.

      The same applies to data. 100x the data doesn't require 100x the "data massagers", any more than 100x the computers requires 100x the number of operating systems, or 100x the word processors (and programmers to create them).

      Anyone pushing their kids into learning how to code as a "job skill" is doing them a huge disservice.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    3. Re:Actually, this will help women by Anonymous Coward · · Score: 0

      Women work a lot fewer hours over their lifetimes then men, so I can't imagine this will matter.

  20. Why I learned to code? by Earthquake+Retrofit · · Score: 1

    I guess kids today will never get to experience what I felt when I learned to code BASIC on that TRS-80. It made me feel powerful like never before. No one I knew could do what I was doing. I figured out how to use that mysterious booklet containing the instruction set for the Z-80 and lightning shot from my fingers. I was a pioneer boldly sallying forth into unexplored worlds. Wielding my keyboard like a sword, I slashed my way, unbloodied, like The Count of Monte Cristo, through Pascal, PL1, 360/370 and C till finally I was slain by microcode. What an adventure it was. Have fun with that spreadsheet for your pointed headed boss.

    --
    Fifty years of Yippie! 1968-2018
    1. Re:Why I learned to code? by Anonymous Coward · · Score: 0

      You sounds like me, only with a different starting point: I began with BASIC on a ZX Spectrum. At the back of the user manual was a tabular listing of Z80 instructions, along with cryptic column headings like "After CB" and "After ED". I was a prolific reader of magazines like "Personal Computer World" and others that I used to get for free via my sister's boss. One had a series on Z80 programming and slowly it all started to make sense.

      The first time I wrote something beyond "LD BC, 1234; RET" it was a lightening bolt of realization. The speed different. Oh my God. From that day, BASIC was for tools, but assembly was where the ACTION was. Being a kid, of course all I wanted to do was write games. I wrote little sprite editors in BASIC and then threw them around the screen in assembly. It was awesome. The learning was exponential. Every day was a discovery.

      Moving from the hardware-lacking ZX Spectrum to the hardware heavy Atari 800XL was another fantastic journey. The 6502 had HOW MANY instructions? Oh my God, it can't do ANYTHING! Then you learn it... How can a 1.8MHz 6502 with less expressive instructions be faster at actually doing stuff than a 3.5MHz Z80? Then all the fancy Atari hardware... The screen modes, display lists, sprites and interrupts. So much to learn. So much fun.

      More instruction set shock with the Atari ST and its 68000. But the pattern never changed: BASIC for tools, assembly for the action.

      I loved the 80s.

  21. R inhibits clear programming and thinking by Anonymous Coward · · Score: 0

    The problem with R is that it is a syntactic nightmare that would fry the brain of someone who didn't already know how to program. R is what you get when social scientists think they know how to make a programming language. But at least you don't have to pay to play like you would with the iPhone app. (Why is the President encouraging people to build apps for walled gardens where they have to pay to play, anyhow?)

  22. That's scary... by Anonymous Coward · · Score: 1

    Telling people to learn R is scary. There's enough terrible stats work out there already, and without a stats background and a shit ton of reading it's going to be hard for the average person to produce analyses that look like they could be useful, but be wrong or horribly misleading.

    It's also not that great for a lot of data processing tasks. Many business folks would be better off learning VBA or SQL depending on what tools the company uses. You don't need R for basic summary information. You can do that easily in any language, and some are a lot better suited to helping automate tedious tasks, plus yield enough transparency into process and can be easily checked.

  23. Mark Z Says It, So It Must Be So? by LifesABeach · · Score: 1

    Ha, ya. I wouldn't turn the lights out in the same room with him in it. But you go ahead, what could possibly go wrong?

  24. Or, go Python Pandas by Idou · · Score: 1

    You get the awesomeness of dataframes in an awesome language with an awesome community (that's 3 awesomes!). Use the Python Notebook tutorials and go do awesome things . . .

    --
    Sdelat' Ameriku velikoy Snova!
  25. Is "Programming Language" correct? by Anonymous Coward · · Score: 0

    I think we're overloading the term "programming language". While no one is confused in the industry, outside the industry it is relevant. Bash scripting, C++, Java, R, LISP, Python- does anyone put all of these in the same universe of "programming language"?

  26. SageMath by rbannon · · Score: 1

    http://www.sagemath.org/ should be visited by anyone interested in helping promote (including R) open source software that is numerical in nature. I agree that programming is important if you need answers to tough (realistic) math questions, and SageMath will allow you to explore a number of open-source packages ( NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R, etc.). Really, SageMath needs more users . . . please help!

  27. Another futile argument by Anonymous Coward · · Score: 0

    Not another, this language, that language debate. I started on mainframe cobol and assembler ('cos the cobol ran slow, but 64k was the norm in those days- until we got DAP). It is true that different languages will change how you perceive the problem domain, and that's a subtlety that emerges rather that can be taught. If I was to suggest one it would be python.

    In the meantime coding in anything at first helps. R or otherwise. Then you can branch out and start learning.

  28. Hadley Wickham by SwampApe · · Score: 1

    What is the opinion of the anti-R people of Hadley Wickham? Is is basically a hero to R enthusaists. (http://had.co.nz)

  29. SQL by Anonymous Coward · · Score: 0

    I don't think any general-purpose language will come in as universally useful as a smattering of SQL knowledge.

  30. Learn fads, young man, learn fads by Anonymous Coward · · Score: 0

    Getting hired when you're young requires at least the ability to fake it with the latest tech fad, whatever it happens to be at your potential company.

    Now, if you'd actually like to *learn how to program*, start with Kernighan and Richie's book on C and work your way up the stack.

  31. Apropos timing to me but... by Anonymous Coward · · Score: 0

    I happened to end up in my career needing a tool to do deep analytics on a tonne of data & it just so happened I 'remembered' R (having no need for it before I knew 'of it' but not anything of any consequence). As others have said it is not a 'language' but a 'tool', though it clearly includes the need to understand logic & how to use 'programming concepts' to make the most of R.

    Having said that, any given programming language is also 'just a tool', some at a higher level than others. I could in theory do everything I'm about to do using C & doing alot of programmer (replicating matlab or R or any 'higher level' statistical tool) but I won't waste my time. Though there may also be the need to understand various scripting languages to process data from various sources to be used in R.

    So, push comes to shove the only thing that kids/society should maybe be taught at a younger age is 'how to think logically about the problem you need to solve'. Using some programming language to teach the concepts is probably a good idea as it makes the concepts more concrete & thus easier to learn, but as any 'real' programmer knows, the 'language' or 'tool' that you use to get a job done is dependent on the context of the job/problem you're trying to solve. But if you have a solid understanding of logic & how to apply it to a programming problem the 'tool' you use is a matter of learning the syntax of the tool you will be using.

  32. Learn Excel by Anonymous Coward · · Score: 0

    Seriously some of the pivot table stuff is pretty powerful and requires some actual work to learn. R??? Seriously. I'm a programmer and R is hard for me because I don't understand a lot of the basic math or stats to even take advantage of it.

  33. Why would technicians learn javascript? by Anonymous Coward · · Score: 0

    You cannot create a browser using javascript. Nor can you code a kernel using Ruby.
    You can do both with C.

  34. Why? by Anonymous Coward · · Score: 0

    You're going to be unemployed anyway. If you're younger than 30, you'll be used up like a slave until you burn out. If you're over 30 forget it, you're too old. The vast majority of coders will be unemployed anyway so why waste the time on learning useless stuff when you can learn marketable skills?

  35. Is this R code a dress code? by Anonymous Coward · · Score: 0

    I know it isn't, of course. But what is a "business professional" exactly? Doesn't the business you work as a professional for make any difference? Over the last few decades the word "professional" has become detached from what you and the business you work for actually do for a living. There seems to have evolved a generic "business professional" who apparently fits in everywhere and does - what? I never noticed it was something so specific that learning a specialized language like R would make sense. Apparently I missed something. So I did a few web searches for "business professional" and most results were about how business professionals should dress. I guess that says it all, R must be a dress code.

  36. Bullshit. by kuzb · · Score: 1

    Yes, let's all learn the language that has the things 99% of us don't need.

    --
    BeauHD. Worst editor since kdawson.
  37. My GF is learning Programming with js. by Dr.+Evil · · Score: 1

    .... so far, I do not recommend it.

    "A great introductory language"

    There *must* be something I'm missing.

    I see her struggling with syntax errors and logical mistakes not picked up in syntax highlighters or bolt-on delinters. The debuggers are a myriad of pages of DOM inspectors, performance tools, js files she's not working with, options for things she doesn't know about and a maze of files, with very little ability to actually step through your running code to see how your "if" statement executes.

    The cute little sandbox online simulators take shortcuts.... she spent three hours trying to figure out why she couldn't get a selector hook a click event to a button, running the code in online simulators but not being able to translate it to her code. In the end it was because she forgot to start with a jQuery $(document).ready statement, the simulator couldn't identify that mistake. She couldn't spot it herself because it gave no indication of what might be wrong.

    Even turning on strict mode on Firefox doesn't give a single error for a missing $(document).ready, but generates 7 errors for jquery.js.

    I used to think Javascript was okay for learning.... but she's programming blind on a lot of stuff. I would love for her to see something like "assigning click event to null object, line 28" or similar, but all I can say is "divide and conquer... test your assumptions at each step, and watch for errors, even if they rarely appear...".. She would have been much better off spending her time working with variables, types and if statements rather than trying to squeeze information out of her programming environment.

  38. ...sigh... it's tough being a techie by Anonymous Coward · · Score: 0

    I don't know how many times I've seen enormous and elaborate processes that could so easily be replaced by a cron and simple shell script. Trouble is, you'd have to spend weeks in management meetings attempting to explain and justify it to people who have no hope of understanding why they should pay you for two hours to write the script.

    It's not about the language man. It's about the thinking ;)

    "The Tao gave birth to machine language. Machine language gave birth to the assembler.
    The assembler gave birth to the compiler. Now there are ten thousand languages.
    Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao.
    But do not program in COBOL if you can avoid it."

  39. Statistics and R by janoc · · Score: 1

    I think that the logic is that a business professional will benefit more from what a specialized language like R can offer than from the general purpose stuff. The manager is not going to code a website or an accounting database (where the general purpose languages would be useful), however, they may need some sophisticated business analyses or reports that nobody else can do for them - and R is very good for that.

    On the other hand, learning R without learning (and understanding) statistics is pretty much pointless and that is *much* harder task than learning the language. Lot of people buy SPSS (a tool similar to R, just with a nice UI) for a lot of money, then load random data and start pressing buttons following some sort of cookbook/cheatsheet. Random numbers come out and then they wonder why their "analysis" doesn't match the reality. Then they go and hire expensive business consultants - who do the same thing while spouting jargon, only charge for it a lot more.

    R is a very powerful tool, but without a solid background in statistics and data analysis it is like giving a scalpel to hospital nurse and declaring her a brain surgeon ...

  40. Hey... maybe you just need a math class by metaforest · · Score: 1

    How about after teaching Algebra, but before heading off into Trig and Calculus spend a quarter or two on Discrete Math. Right there in one fell swoop is the foundation of all computer science in one fairly easy to grasp branch of mathematics. Tie that in with a bit of PASCAL or Python and there is your wade into programming without forcing students into a CIS track. For budding programmers, that class would tie their foundation together, and with others it just gives them some insight into how a computer or even just a calculator really works.

    Orienting the study around languages only works with people who already have some idea of how to program.