Win a copy of OCP Oracle Certified Professional Java SE 11 Programmer I Study Guide: Exam 1Z0-815 this week in the Programmer Certification forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Junilu Lacar
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Knute Snortum
  • Devaka Cooray
  • Tim Cooke
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Ron McLeod
  • Carey Brown
Bartenders:
  • Paweł Baczyński
  • Piet Souris
  • Vijitha Kumara

What programming languages should I learn first if I want to do everything (full-stack)?

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've wanted to learn how to code for 7 years now but I've procrastinated and pushed it off each time I tried renting a book and trying to learn something. I currently have no knowledge of any programming language or any of the major concepts. In the past I've paid a few programmers to design algorithmic based trading programs for me in Python and PHP. I furnished the equations and he turned them into a functional program for my business. From our discussions I learned a few things in maintaining proper syntax when I needed to manually change values within the program but that is about as far as my education goes.

I now have a pile of projects I need made into android apps, iPhone apps, and websites. This will result in me needing to spend hundreds of thousands of dollars in hiring programmers just to get prototypes up and running. So I want to take matters into my own hands and design these programs myself, front to back, top to bottom. I'm not going to be attending a college but I would be willing to pay for online courses which I'm sure there are plenty of (if anyone has a recommendation?)

My question is what are ALL of the programming languages I need to learn and master AND in what order should I learn them in? I don't mind putting in the hard work and I have plenty of time throughout my days to dedicate to this. And I'm sure this could very well take me a minimum of 5 years, but I think it would be well worth the time. My goals are:

1. Develop iOS mobile apps (front to back BUT excluding graphics and audio, that can be left to someone else).

2. Develop Android apps for the same products (front to back BUT excluding graphics and audio, that can be left to someone else). I'd also rather learn the foundation rather than a cross-over language.

3. Create a website (front-end including the back-end scripts) to link both iOS and Android apps into one server as well as give my LLC a landing page (I'd rather not pay someone else because only I know how my website should look).

That's it! My business ventures will not include 3-D gaming, holographic displays or some complex technology that hasn't been created yet. Just apps (and accompanying databases/websites) that should be very doable for myself or maybe a small team. I've done some preliminary research on this subject and I made a list of programming languages that I think fits the criteria for my situation.

Please correct me if I need to omit a language or please add something that I missed (and include why). Also please tell me if the order is correct because I want to go down the list, from top to bottom in order so that the transition from language to language is easiest (relatively speaking).

Languages to Learn in Order:

1. C++:
To serve as a foundation + build attention to detail early on. Also my trading platforms are based in C++ so after learning this language I can immediately practice what I learned by creating new trading programs to test out.

2. Java:
This language is the automatic transmission of C++. It helps to build a foundation for Android development and Windows.

3. PHP:
This language is necessary for back-end website development to focus on the site’s responsiveness and speed.

4. Javascript:
In order for your website to be fully functional you need a back-end and a front-end. Javascript allows for functionality on your website.

5. HTML & CSS:
HTML will help with front-end design of websites. After learning HTML learn CSS as they go hand in hand. CSS is for styling HTML for better looks.

6. JS & DOM elements, JQuery, and MYSQL: These languages should be learned in the order left to right. This will help with FULL website development from front to back.

7. Objective-C (or Swift?):
To build mobile apps for the iOS platform, you’ll need to learn Objective-C. Getting your mobile app on both platforms is crucial. I've been told that using Objective-C is like learning how to build horse carriages at the turn of the 20th century compared to learning Swift which is like being an auto mechanic. Should I take the time to learn Objective-C if I already know C++? I hear that there's still a ton of Objective-C code out there so it would still be wise to learn Objective-C first.

And that's it for my list. Is there anything I missed or should these languages be re-ordered.

Thank you!
 
Rancher
Posts: 506
6
IntelliJ IDE Spring Fedora
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If your goal is ios,  android , and a website then if you don't necessarily want native code for the phone apps then you can use xamarian to make an app that will run on android and apple phones.   Then for websites you could use asp.net.  if you do that you could learn just one programming language: c#.  

If you want native phone apps then you would need java for android , and swift for Apple.   You could then make the website stuff (backend) with java.    

Learning the languages isn't necessarily the hard part.  The part you need to know are how to design stuff so that changing things in the future isn't a pain in the a.



Also html/css/javascript if you are ever going to touch webstuff for sure.

Also c++ is going to be much harder than java or c# or javascript.
 
Rancher
Posts: 117
7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What about Dart? It can do web and mobile and has a nice syntax. The downside is that there are not a lot of tutorials...

When it comes to online courses I don't want to spam the forum with links but I have tried quite a few so you can msg me if you want to know my thoughts one them.
 
Marshal
Posts: 14388
240
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have to be honest with you, I don't think you know what kind of hurt you're trying to get yourself into. Programming is not just about syntax. That's like thinking literature is simply about grammar. What you're trying to do is like trying to learn French or some other foreign language with the ambition of writing several books in that language, all of which deal with a variety of highly specialized topics you may have only surface knowledge about. Are you sure you have the time and ability to do such a thing? Can you do that and still run a business? There aren't even many experienced programmers around who can develop everything you plan to develop without needing some (or a lot of) ramp up time.
 
Junilu Lacar
Marshal
Posts: 14388
240
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My previous analogy of learning just one foreign language was an oversimplification. It appears your ambition is to learn several foreign languages and then writing books in each of those. I'm not sure that's a very realistic goal. I can't even do everything you listed out and I've been a professional developer for thirty years.
 
Marshal
Posts: 7271
492
Mac OS X VI Editor BSD Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Jason Andrews wrote:Is there anything I missed or should these languages be re-ordered.


While to know the language syntax and the language itself to some extent is mandatory in order to be able to write program with such language, I think that's not the most important part in the journey you are planning to take.

I think you need to understand programming as a discipline to a much bigger extent than the language itself. And this is where all the time will sink for you (in my opinion) if you ever start on these projects yourself. For what is worse, there isn't a single book which could teach you that, I guess the picture can only be assembled from many different pieces.

Those pieces of the picture often (but not necessarily) are being provided in the computer science's taught courses.

While there are great programmers without such degrees (and even in this community), I personally feel that I learned a lot in academia, and without that as a starter pack, I don't know whether I would have been where I am now. Of course, academia was just a 1/3 of the picture. Then tremendous amount of read threads here (in the past 5 years or so) about good software engineering practices, as well as spent good amount of time practicing with those ideas gave me the chance to outgrow (I think that happened now) a junior position, so I could competitively work on some programming projects what you seems to be aiming at yourself.

What I'm trying to say, that I never thought which language I should learn first or most... That's simply not about that. But I guess you'll figure that out sooner rather than later.
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey, first of all, I recommend you to choose one programming language. It is great that you have big goals but you don’t need to be good at many things, you need to be great at one. Secondly, I want to recommend some great resources that were useful to me then I was learning programming. One of them is BitDegree platform (there are a lot of useful courses, tutorials and code examples). Also, I recommend you to join Reddit and FreeCodeCamp. I hope it will be valuable to you too. Good luck!
 
Junilu Lacar
Marshal
Posts: 14388
240
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch, ricky oliver!
 
He was expelled for perverse baking experiments. This tiny ad is a model student:
Java file APIs (DOC, XLS, PDF, and many more)
https://products.aspose.com/total/java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!