Alec Jonesdeveloping & high schooling

I'm a 15-year-old developer, I know HTML, CSS, and Ruby. What coding language should I learn next?

I'm trying to learn a new language that will help the quality of my web apps and my résumé. There's so many to choose from PHP, Python, Javascript, and I'm torn!
Featured 
Your answer
🤓 Got the answer? Join the discussion.
Discussion
Moe Levine@moshensariva_levine
@alec_joness I would highly recommend you master Javascript, I'm a PHP developer and wish I had mastered javascript first. With javascript you can build front-end and backend stuff easily. For example, take a look at MeteorJS and you'll be blown away and how quickly you can build incredible stuff with just javascript, including database and server side code. One language for it all, check it out you won't regret it
Pavan Sethi@pav_sethi · building things.
@alec_joness @moshensariva_levine I agree with Moe. I can't give much advice comparing JS to other languages from experience since JS is all I know, but I can tell you that it's fairly straightforward to pick up and build full-stack applications quickly.
Alec Jones@alec_joness · developing & high schooling
@moshensariva_levine @pav_sethi Thanks, guys. Based on the responses, I'll be learning Javascript next. After I have mastered JavaScript - I will be learning Python. Trying to get as many languages under my belt before I graduate high school!
Kazim Ali@kazim · Senior Front End Developer
@moshensariva_levine @pav_sethi @alec_joness dont try to do as many languages, be the God in few languages. NodeJS is something going to stay for a while and then there are other JS platforms keeps coming. Python is good for research purposes, mainly JavaScript and it's framework is what you should head for. However it's not bad to do PHP, so you'd be doing Laravel I guess.. It's a boss combination for PHP + JS expertise, but then this is for the web development and stuff. Make sure if it's the thing you love, because you're heading this way.
Tony Bruno Bologna@antonio_bologna · Full Stack Architect
@alec_joness Hello Alec :) There's no right or wrong answer from all answers I've seen here. My recommendation is not to focus on a particular set of languages or tech stacks, but rather on the fundamentals of how programming languages work, that is only if you want to go deep into the why rather than on the how. Sure, there's a ton of stuff out there, and sure you can learn what's HOT right now (Javascript, React, NodeJS, Redux, Webpack, etc...), but what's hot today, will be something obsolete or rather not supported 2 years from now (I was once a Backbone/Marionette/Grunt kind of guy ;) ). It also depends on what you're looking for. If you want to get hired there's a huge demand for Java, Javascript, elixir, C, and Python. But then again, it depends on what your end goal is, and what do you want to end up doing. I hope this can help in someway Alec :)
Paramesh@paramesh727 · Inbound marketer and growth hacker
@alec_joness create a web app and learn how to market it and grow it.
Alec Jones@alec_joness · developing & high schooling
@paramesh727 Hey there. Thanks for advice, but I've done that already - I'm trying to learn another language to improve my next product.
Paramesh@paramesh727 · Inbound marketer and growth hacker
@alec_joness do you find any success with it? if not try making another web app and make it grow. I think ruby is enough. if you want more learn ruby on rails. if you want to get into data scientist or machine learning learn python. if you want to build web apps or hybrid mobile apps learn javascript.
Sven van der Zee@svenvdz · Founder AcceptCrypto
@alec_joness definitely JavaScript and PHP. But it highly depends on your project. Also Solidity to create smart contracts on the Ethereum blockchain is nice to learn.
Siwat Tansiri@siwat_tansiri
@alec_joness Hi, Alec. I'm not a professional so I don't think I'm qualified to give you a good answer. I started learning PHP by myself and started learning Javascript from Freecodecamp later on. I think you might want to check this out https://goo.gl/D2MRhc. Quincy is the founder of Freecodecamp, and he'll recommend that you take Javascript. I've seen recommendation trends recently going towards either Javascript or Python. Personally, I would say PHP because it has pretty good SQL database connection and it's created for web building. I've also seen many people talking about why it is not a good language to use in modern web building, but it works for me. Again, I'm not a professional so I don't know much details about why is it a bad language and what are the pros of it. I have used all three languages and I found them to be quite easy to pick up. I'm just a fan who programs as a hobby. Excited to see what you build next!
Mick@mickc79 · Founder of SongBox.Rocks
@alec_joness it depends what you want to do. JavaScript is definitely a good shout but moreso if you want to be a front end developer. If you want to focus on building back end then I would recommend php and the laravel framework, or c# and the .net framework. Those are the most common in the workplace. Another factor is wether you want to work commercially or you plan on working for yourself. If it’s commercially then I would start to think if you’re a back end or front end dev (at first. In time you should develop your skills to be able to do it all). Also another factor (there’s a lot to think about lol) is wether you want to work at a startup or an established / enterprise company. Generally speaking the bigger the company the more defined the development roles will be. Whereas at a startup it’s more of a “everyone chips in” vibe where JavaScript might be your best bet again.
Alec Jones@alec_joness · developing & high schooling
@mickc79 Thanks for the help. Love the elaborate reply!
Scott Handley@scotth · CEO - Jawger, Inc.
@alec_joness I'd suggest obtaining a good understanding of the full stack for client-server interactions. You'll gain depth and insight into complex systems and the trade-offs for centralizing and decentralizing logic. If you couple this with learning Swift or Android, you'll also gain an appreciation for designing systems that are more versatile and adaptable to any device that separate data/logic/ui. While frameworks are great productivity tools, there are many of them with various tradeoffs and any decent developer should be able to pick them up as needed. I would advise, while you are learning, to refrain from using frameworks so you gain a better understanding of the design patterns that you will encounter when using them. That said, a natural progression to your current learnings would be HTML5/CSS3/JavaScript (front-end) and Node.js/Handlebars/Cassandra or MySql (back-end). By learning JavaScript, Node.js will be a easy extension since it is also JavaScript. As you think about the back-end services for your web client, you should also be thinking about how the same services could be used by a native app. And, I don't mean a app wrapper around a service returning HTML. A well designed backend should provide response in a format representative of the client request. I hope this is helpful. Good luck!
Prateek Kumar Singh@devprateek · CTO, Teggnet
@alec_joness Go with javascript, it enables you to build for web as well as mobile with JS library and framework like ReactJS and React-Native.
Sunil Kumar@sunilc_ · Software Engineer, Plivo
@alec_joness I would suggest learning vanilla javascript first. This link (https://github.com/getify/You-Do...) has some amazing resources to learn JS. After you understand the basics, you can start looking into Node.js , React.js etc depending on your interest on backend / frontend development. I think python is a great language to learn too! I generally use JS for my side projects and python for online coding challenges. All the best for your journey!
Alec Jones@alec_joness · developing & high schooling
@sunilc_ Thanks a lot for that link. Definitely some great resources! Do you know any JS frameworks that are close to Ruby on Rails?
William Triska@williamtriska · COO @ META School
@alec_joness Great question, great place to ask it! Firstly, part of my job is to evaluate a person's skillset and see how they fit into my team. On that note, I want people that do things I can't do, but that compliment my skillset. Python would be my generalist recommendation since it can accomplish many things and has a lowish learning curve. However looking forward a bit you might consider something more niche. It should be something that fits what you are interested in and appears to be at least stable in terms of adoption. I might suggest something like Silverlight... There is no rush in deciding what you want to specialize in or work on in the future, so follow your intuition in this regard and work on things that are interesting to you. That said, when you do find a direction work on defining it clearly for yourself so you can really suit your learning to your goals and ideas!
Udit Goenka@iuditg · CEO & Co-Founder at GoPBN
@alec_joness NodeJS with React is gaining a lot of popularity. I am building two SaaS so far, and two more in development. They are all built on NodeJS with ReactJS. The biggest reason is speed. My application screams when it comes to speed. Will highly recommend you to do the same. Rest is up to you. Good luck and Happy New Year!
Sam Ayres@sam_ayres · Web developer
@alec_joness Pretty much everything involving client and server is becoming Javascript orientated, I'd definitely advise learning the fundamentals. After that branching out into learning react/angular/node, no doubt it'll serve you well.
Dee Jay Johnson@dee_jay_johnson · Just a programmer in St louis
@alec_joness Learning languages is cool and all, but i'd suggest really studying and understanding computer science. Things like data structures and algorithms go so much farther than knowing a bunch of languages. (also, since you're still in high school, make sure you're applying for internships! )
Alec Jones@alec_joness · developing & high schooling
@csfreak4jesus Thank you. I am going to continue learning languages, but I agree with you that it would be smart to learn CS.
Philip Brechler@plaetzchen · Product Manager at mobile.de
@alec_joness Depending of where you want to go I would also tell you to learn JavaScript or even Java, if you want to work in Enterprise Backend Jobs later
Stefan Mansson@animify · Software Engineer @ Proto.io
@alec_joness Agree with a lot of the answers here. Javascript will open a lot of doors for you; let it be creating mobile apps, building for the client side or setting up back-end servers with Node JS. I suggest you first dive into Vanilla JS so you learn the basics and get started with the benefits of the ES6 syntax/features. After that you'll see what sector you like first and learn more frameworks accordingly. https://github.com/getify/You-Do... was one my favorite go-to sources when I was learning, even nowadays it comes in handy. There's a lot of information there, absorb it! If you're really interested in web development you can also take a look into HTML & CSS preprocessors e.g Pug JS for HTML & Sass/Stylus for CSS, they make your workflow much more efficient and cleaner. (They act as fantastic additions to your résumé). Other than that, no need to rush! Take your time to see what you like and experiment with things. All the best!
Dairon Medina@codeadict
@alec_joness whatever you do avoid the PHP waters :) Javascript and Python are fun to work with, also is good to pick up a functional language like Haskell, Lisp or Erlang to have a different perspective.
Nazareno Cruzada@nbcruz · Founder, MoveShake
@alec_joness I recommend a database query language like SQL or CQL so you can do full stack development.
Brandon Anzaldi@caffeinewriter · Software Engineer @ ToTheTens
@alec_joness I'd recommend JavaScript, and/or Python. I started with PHP, and I had to unlearn some concepts that PHP taught me learning later languages. The main advantage to PHP, I'd say, is its ubiquity, but learning JavaScript gives you the option to work with both front-end and back-end development, since Node.js allows you to use JS on the server side, and JS is an integral part of the client side. Python's a good multitool language, which can be used for back-end development, has a plethora of packages for everything from API interfacing to statistical analysis.
Captain Suleiman@sulcalibur · Designer/Developer at Suljam
@alec_joness Javascript! Can't express this enough buddy!
Tom Cummings@crysoftware · Made CryPixels
@alec_joness 'javascript' || 'javascript' || 'javascript';
Your answer
🤓 Got the answer? Join the discussion.