Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Education Programming

Go R, Young Man 144

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?"
This discussion has been archived. No new comments can be posted.

Go R, Young Man

Comments Filter:
  • by Anonymous Coward on Saturday March 07, 2015 @01:21PM (#49205393)

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

    • by Anonymous Coward on Saturday March 07, 2015 @01:24PM (#49205411)

      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.

      • Re: (Score:2, Interesting)

        by Anonymous Coward

        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 artic

        • Re: (Score:2, Insightful)

          by Anonymous Coward

          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.

      • by Anonymous Coward

        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

        • 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.

          • 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.

        • 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

      • 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.

    • by narcc ( 412956 )

      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.

    • by Lunix Nutcase ( 1092239 ) on Saturday March 07, 2015 @01:35PM (#49205467)

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

      • 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.

    • 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 visua

      • 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

  • by phantomfive ( 622387 ) on Saturday March 07, 2015 @01:28PM (#49205433) Journal
    CEO of data analysis company suggests people learn data analysis language.

    In other news, CEO of Erlang Solutions [erlang-solutions.com] thinks Erlang is great. No word on why.......
    • 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.

      • by phantomfive ( 622387 ) on Saturday March 07, 2015 @01:54PM (#49205581) Journal
        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.
      • by itzly ( 3699663 )

        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).

    • by dinfinity ( 2300094 ) on Saturday March 07, 2015 @01:42PM (#49205511)

      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.

      • 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).

        • by anmre ( 2956771 )
          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.
          • 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 :)

            • by anmre ( 2956771 )
              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!
      • 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.

    • So if I just hold the sack open all night, the snipe will run into it?
  • 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.

  • by Anonymous Coward

    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).

  • by unimacs ( 597299 ) on Saturday March 07, 2015 @01:40PM (#49205499)
    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.
    • by spauldo ( 118058 ) on Saturday March 07, 2015 @01:58PM (#49205599)

      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.

      • by spauldo ( 118058 )

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

  • 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

    • by Anonymous Coward

      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

    • Re: (Score:3, Interesting)

      by Anonymous Coward

      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.

    • 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.

    • .... 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.

  • by rockmuelle ( 575982 ) on Saturday March 07, 2015 @01:53PM (#49205575)

    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

    • by umafuckit ( 2980809 ) on Saturday March 07, 2015 @02:09PM (#49205659)
      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.
  • 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.

  • by rogoshen1 ( 2922505 ) on Saturday March 07, 2015 @02:05PM (#49205641)

    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?

    • 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

      • 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 buil

        • 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

          • 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.)

            • 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

              • 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.

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

                  • 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 ca

        • 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.

  • Mark lead them... (Score:4, Insightful)

    by BlackHawk-666 ( 560896 ) on Saturday March 07, 2015 @02:16PM (#49205697)

    ...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.

    • by colinwb ( 827584 )

      "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 a

  • 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.
  • 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

  • Go R, Young Man

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

  • 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.

  • "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).

    • by unimacs ( 597299 )
      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.
      • 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

  • 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
  • by Anonymous Coward

    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

  • 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?
  • You get the awesomeness of dataframes in an awesome language with an awesome community (that's 3 awesomes!). Use the Python Notebook tutorials [ipython.org] and go do awesome things . . .
  • http://www.sagemath.org/ [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!

  • What is the opinion of the anti-R people of Hadley Wickham? Is is basically a hero to R enthusaists. (http://had.co.nz)
  • Yes, let's all learn the language that has the things 99% of us don't need.

  • 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 p

  • 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 comput

To stay youthful, stay useful.

Working...