Click here to Skip to main content
15,885,882 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I am interested in software development. I have learnt a little bit about some languages; Java, JavaScript, Python, HTML and CSS.

In the future I want to get a job as a software developer and when I go on job descriptions of software developer jobs, they all say different stuff. So I am trying to figure out what language would be the best for me to learn and become an expert in.
Or is it the other way? As in I choose any language and find a job that has that as a requirement.

I am leaning more towards Java. My knowledge right now extends to stuff like creating if statements, loops, methods, classes. So pretty much the basic stuff.

Bonus question:
What would be the best website to learn a language? I want to gain a more in-depth knowledge of my chosen language.

Any answers will be greatly appreciated.

Thanks.

What I have tried:

At the beginning stages, so not much.
Posted
Updated 9-Jul-18 1:57am
Comments
Simon_Whale 9-Jul-18 11:29am    
to add to ppolymorphe very good answer I would also look at the jobs available in your area and see what job are requesting the most, as it will guide you in what to learn etc etc

I wrote a tip about
How to Start the Homework or a Developer Career
about my experiences and knowledges about programming.

As I understand you, you have some knowledge in java which is very fine also for web and server development. But also javscript has become very powerful by the new ECMAscript standard. So work in the direction of web and learn the details of HTML like with w3schools tutorials.

But most important is to do what you like, because that is what you do best. Try to learn in small projects, because than you see what it takes to make it complete. A lot of people like small enterprises need some webpage assistance, so you easy find someone who wants that.
 
Share this answer
 
I'm of the not-uncommon self-taught programmer type. Although I started with FORTRAN, it was the only language available to me at the time. Later, I learned VAX MACRO-ASSEMBLER. Now I knew, at least a little, what happened in the background and why it makes a difference.

But as far as a recommendation for a startup language goes, I would most strongly recommend a "C"-like language. The style has been used for many other languages (php, java, javaScript, C++, C#, and more). Getting comfortable with that will give you a jump start into learning many new languages, as needed.

I can give you a warning, as well, about letting your studies be guided by 'want ads': Don't! Even if they're accurate when you read them, by the time you're proficient they'll likely be a new set of wants and you'll be (1) obsolete, with (2) a fly-by-night fad. It happens in many professions, but computer programming is particularly vulnerable to this.

And don't forget to get really good at something - which (for me) is best done by building an application as recreation and embellishing it as a way to learn new features. This is not only more fun, but gets your mind used to going out and seeking new methods to solve problems.


 
Share this answer
 
You should learn Smalltalk. Here are the key reasons:

  1. Smalltalk was designed for teaching programming to children. It was created by the brilliant visionary Alan Kay and his team at Xerox PARC.
  2. Smalltalk is supremely simple and easy to learn, even easier than Python. The complete syntax fits on a post card!
  3. Smalltalk is the ideal way to learn object-oriented programming (or OOP), the most important and widely used style of programming in the world.
  4. Smalltalk is loads of fun because it’s easy in every respect…easy syntax, easy OOP training, easy IDE (which, incidentally, supports live coding), easy testing (via TDD), easy debugging.

As if that wasn't enough, Smalltalk is a widely-used industrial and enterprise programming language used by companies all around the world. Some of the more prominent users include:

  • JPMorgan
  • Desjardins
  • UBS
  • Florida Power & Light
  • Texas Instruments
  • Telecom Argentina
  • Orient Overseas Container Lines
  • BMW
  • Siemens AG

Just to name a few. In my home country, Smalltalk is used by Communications Security Establishment (CSE), Canada’s national cryptologic agency.

Learning Smalltalk programming will provide a very solid foundation for learning all other languages.
 
Share this answer
 
v2
Quote:
In the future I want to get a job as a software developer and when I go on job descriptions of software developer jobs, they all say different stuff.

'software developer' job is not about knowledge of a language, it is about knowledge of technical background and particularly algorithms, the language is mainly a mean to apply the algorithms. Jumping from a language to another is not a real problem once you master the technical background.

You have to know that you can do pretty much anything in any language, simply some languages are harder for beginners because there is more pitfalls to handle.
You need to master a set of techniques that are the basis of the job and are not linked to a language.

Advices:
- Start with an easy/safe language: VB, Java, C#, not C or C++. I do not recommend to start with Python either because of the usage of indentation.
- Read documentation / Follow tutorials (a lot of them)
- Start with tiny/useless projects, the purpose is to learn programming, not doing something useful.
- Start with console mode programs (no fancy graphics, no mouse)
- Learn debugger (an incredible learning tool)
Debugger - Wikipedia, the free encyclopedia[^]
Mastering Debugging in Visual Studio 2010 - A Beginner's Guide[^]
- A problem ? Google is your friend.
- Learn Algorithms and Data-Structures.
- Learn Boole algebra
- Learn one or more analyze methods, E.W. Djikstra top-Down method is a good start.
Structured Programming.pdf[^]
https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design[^]
https://en.wikipedia.org/wiki/Structured_programming[^]
https://en.wikipedia.org/wiki/Edsger_W._Dijkstra[^]
https://www.cs.utexas.edu/users/EWD/ewd03xx/EWD316.PDF[^]
- Learn SQL
- Learn Databases design and Administration
Introduction to database design[^]
1NF, 2NF, 3NF and BCNF in Database Normalization | DBMS Tutorial | Studytonight[^]
- Learn Regular Expressions

Interesting link:
stanford.edu: Learn to Program[^]

There is no shortcut to knowledge, no one can learn for you, you are the only one that can do it.
Remember the exercises and little projects are not here to make something useful, they are here to teach you programming.
Quote:
What would be the best website to learn a language?

Depend on the language, the best general advice is to find tutorials.
For web dev: W3Schools Online Web Tutorials[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900