12

Ask DN: What language should I learn?

almost 6 years ago from , Freelance Designer/Web Designer/Film maker

Hello! everything changes so fast, and I am kind of lost. What language should I learn for web dev? Half of the people I ask say I should become a rails dev, the other half say JS libraries like node.js or meteor.js or angular.js or whatever came out last week.

I have a very good understanding of JS and JQ but I am just not sure where i should put my effort in the backend area.

Thanks!

28 comments

  • Art VandelayArt Vandelay, almost 6 years ago

    German or Mandarin.

    27 points
    • Connor Norvell, almost 6 years ago

      Tried german and i liked it, similar format to what im used to. But Mandarin was a bit too abstract to me, and the libraries are endless, every person you talk to has a different library that they use and its hard to understand

      6 points
      • Drew McDonaldDrew McDonald, almost 6 years ago

        Spanish is good to learn. As a language it's not hard to learn, and there's a lot of application for it. Well supported Docs and friendly support. :)

        1 point
    • Theus FalcãoTheus Falcão, almost 6 years ago

      Beyond English, I'm learning German too. :')

      0 points
  • Vladimir GorshkovVladimir Gorshkov, almost 6 years ago

    Spanish

    5 points
  • Dillon RaphaelDillon Raphael, almost 6 years ago

    I originally started with Rails a few years back, but now a huge fan of Meteor. The community is great, and a lot of resources out there to learn (crater.io). They started implementing a more open philosophy so working with npm packages is a breeze. Oh and mobile development is GREAT. My latest project (vividaura.com) is built with Meteor.

    5 points
  • Anders Kitson, almost 6 years ago

    http://www.bestprogramminglanguagefor.me/

    3 points
  • Joe Blau, almost 6 years ago

    You're falling in the same trap that made me fall out of love with web development. Chasing a programming language is the wrong way to look at how you want to develop your career. Like Steve Jobs said at WWDC in 1997:

    You‘ve got to start with the customer experience and work back toward the technology - not the other way around.

    So my question to you is: What is the customer experience you want to create for your products? Once you know what customer experience you're trying to create that will inform what you need to learn. I'll give you some examples.

    • If you're trying to build web applications that wrap Objective-C to build a web based mobile application, you probably should learn Obj-C/Swift/Java to create native experiences.
    • If you're working on a web product that relies heavily on concurrency and data processing, you should probably learn Go/Erlang instead of Rails/JS.
    • If you're working on a web based but need a lot of statistical calculations in order to create a great customer experience, you should learn R.

    Those 3 examples (and I could list more) can all be done in Ruby/JS but they would probably create worse consumer experiences, because Rails and Node are better then some languages for certain things and worse for others. I spent 5 years chasing the latest and greatest cross platform mobile framework and I was burned every time. When I finally realized that I want to create amazing mobile experiences, that's when I realized that I should focus 100% of native iOS development. Ever since then, it's been amazing to solve problems while people are trying to figure out if React Native is really going to be a thing or if they should they focus on something else.

    @PatrickJohnson is right though... learn Mandarin :)

    2 points
    • Connor Norvell, almost 6 years ago

      Very good advice, I really just want to be able to make web applications for companies that need things like blogs, users, and building backends for them to manage those things.

      ultimately based on the responses, it looks like i am aiming toward JS frameworks, and in the future I'll probably learn swift. My question could be rephrased a bit better as: If i want to be an all around good developer, what language should I learn?

      If i wanted to build, say, a website like NASA's website, with all of those features, which language would I aim towards?

      0 points
      • Joe Blau, almost 6 years ago

        Based on my experience, Rails is probably the best for that type of site. Rails is basically a CMS (content management service) that you can customize to do whatever you want. GitHub, TeeSpring, Genius, and a lot of other companies that are a customized CMS rely on the Rails framework. Rails comes with a lot of gems that make it easy to add account management, do database migrations and incorporate big sections of a site like NASA.gov. You could do the same thing with Node, which does have a few frameworks that are trying to be like Rails (Locomotive, Kraken.js, Express, Meteor.js), but no frameworks in the Node space are really on Rail's level for what Rails does.

        0 points
  • Pedro PintoPedro Pinto, almost 6 years ago

    I would suggest to learn Meteor, start here: discovermeteor.com

    1 point
  • Jamie WilsonJamie Wilson, almost 6 years ago (edited almost 6 years ago )

    If you already have a good understanding JavaScript and jQuery, you should try Meteor—I absolutely love it. You'll be dealing with a code style and similar abstractions to those found in jQuery, so it will be very familiar to you. Meteor is an isomorphic platform for creating apps entirely with javascript (which basically means that it runs javascript in the browser and on the server). This makes creating production-ready apps so much simpler.

    Meteor bundles up so much awesome stuff (but still leaves you with the option to switch out packages for others, like if you want to use React instead of the defualt Blaze templating engine, it's super easy) that going back to a more piece-meal stack (like the one in this tutorial) seems like such a headache.

    I can't recommend these two online courses enough. They are awesome: Your First Meteor ApplicationDiscover Meteor

    1 point
  • jacob weberjacob weber, almost 6 years ago

    I go back and forth on this a lot as well. I start a bunch of JS training and testing and then fall off. I'd love to know what you start and stick with. I'm looking at crater.io right now too.

    1 point
    • Connor Norvell, almost 6 years ago

      Yeah same exactly. I just don't want to waste my time... and end up learning something else in a year or less. Based on the responses ill be checking out meteor.js but ill see what i end up liking

      1 point
  • Thompson GeorgeThompson George, almost 6 years ago

    I didn't enjoy using ruby. The learning curve was steep and the dependancies were difficult to update. I built the same thing in angular in half the time. That could be because angular was better for the job. Maybe I am an idiot?

    I am going to pick up ruby again, but my first experience was turn off. Like I said, I am sure I did something wrong like not having rvm. Make sure you use rvm if you do ruby stuff.

    1 point
  • Tony Jones, over 5 years ago (edited over 5 years ago )

    Companies want devs who understand the software dev process and code with object-oriented principles, so If marketability is your goal, you can't go wrong with languages like Ruby and Java. Besides those two, everyone should know Javascript. Don't worry about the latest library, framework, etc. If you know Javascript well you will be comfortable with most frameworks.

    0 points
  • pjotr .pjotr ., almost 6 years ago

    Fuck. This is designer news. I like programming and development as much as the next fella but I don't come to designer news to see this shit. Use quora or something man.

    0 points
  • Nick HileyNick Hiley, almost 6 years ago

    Since you already have an understanding of JavaScript, why not look into Node.js and some frameworks that run on node like Meteor?

    0 points
  • n keylen keyle, almost 6 years ago

    Try Python. Never been a huge fan of Python though. The whole import package thing ugh.

    If you want to get things done and don't care about form - and have no OCD - go for PHP.

    NodeJs is a great addition to your tool box.

    Avoid the latest framework buzz like react, bootfeaces and meteor, cakephp, jango, wordpress etc. You will end up being a very shiny tool, useless to most jobs. Worst of all, you will learn nothing.

    0 points
    • Jake Lazaroff, almost 6 years ago (edited almost 6 years ago )

      I agree in general, but how are some of those part of the "latest framework buzz"? WordPress has been around and well-supported with a huge community for over a decade—I'd sooner describe jQuery that way than WordPress. Django and CakePHP have been well-supported for a long time too.

      0 points
  • Andrew SmithAndrew Smith, almost 6 years ago

    My golden rule is have a reason to learn something. If you're going for a library, what are you going to do with it? If you're going for a new language, why?

    0 points