Skip to main content
4 answers
5
Asked 897 views

Programming specifics

I've been learning programming and I've got the basics of c++ and java. But I recently learned that there are a lot more fields of programming whether it's javascript or python or html. So can someone tell me the difference between the fields and recommend which fields I should learn quickly and others that I should wait. Also I would like to know how and for what each field of coding is used for. #programming

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

5

4 answers


3
Updated
Share a link to this answer
Share a link to this answer

Fred’s Answer

There are many ways to divide up the Information Technology (IT) world. One way is "front-end" vs. "back-end". Front end is the visual interface the user sees, and the interaction between the computer and user. It displays information or graphics, gets input, and then formats it into the message sent to the back-end. The back-end is the database, file servers, computational processing...

Some companies divide between production and support. The former is building new pieces of technology, adding in functionality, or improving how the current software works. Support fixes all the things the prod team missed that users report. ;-)

C++, Java, Pythons, etc. are all programming languages, and there are dozens more. A language is a tool, often created to solve a type of problem. C/C++ are very early languages (C especially) created when you needed to be able to directly address memory, but was difficult to manage the executable files for every platform. Java was created so that you could send the same (sort of) executable file to any operating system. Perl was created to help process data and text...and so on (these are gross generalizations).

I would suggest you not focus on learning a technology, but instead on programming practices. I was once offered a position that required me to use a language (TCL) I had never even HEARD of, but because I could demonstrate solid fundamentals, my manager said "we can teach you the language". Writing clean code in whatever language that is clear, self-documenting, follows conventions, etc. is more important than knowing clever "tricks". Being able to think through a problem, identifying gaps in the specs, identifying assumptions (both your own and those in the specs) is MUCH more important than knowing 20 different programming languages.
Thank you comment icon You're so right about just learning how to solve a problem programmatically. I am in a company that uses many different languages, and it can all vary just based on what project you are doing. If you understand the basics of one or two languages then adapting to others actually isn't very hard. But I would definitely learn some of the fundamental data formats: REST API calls, JSON, SQL... as these have a far-reaching usefulness across so many platforms regardless of which language you use to apply them in each case. Joe Notter
3
1
Updated
Share a link to this answer
Share a link to this answer

Eric’s Answer

There are many fields of programming, with many different things to focus on.


However, the principles of programming that you learn in C++ and Java are generally applicable. I recommend learning them, and finding one or two other languages to learn with radically different styles. Scheme or Haskell are good for learning "functional programming," for example. Once you have several languages under your belt, you'll begin to see the ways that they're all just expressing how to solve a problem in a computer, and you can choose the right tool for the right job.


There are far too many fields to list here. Your best bet is to learn about a few and stay open to other possibilities. Whenever possible, try out a new focus when you learn one, to see if it grabs your attention. Ideally, you'll be able to get a job doing something that is both in high demand (so pays well), and you are interested by (so it will keep your mind functioning at its best).


A few focuses, off the top of my head: Web development, game development, mobile apps (Android and iOS, they're pretty different, to say nothing of Windows Phone and more obscure systems), the server side of all of the above, kernel hacking, embedded systems (so programming microchips), databases.


Each one of these will have one or more languages which are particularly good at it, but you can usually bend many different languages to the task.


Does this help answer your question?

1
0
Updated
Share a link to this answer
Share a link to this answer

Michael’s Answer

Programming is an extremely broad field. Many of these other answers have already touched on it but a non-exhaustive list would be:
Front end,
back end
Web
Mobile App
Security
Graphics
Simulations
Networking
Algorithms
Cryptocurrency/Blockchain

Here's a good starter to get an idea of what kind of industries or focuses out there: https://www.cc.gatech.edu/academics/degree-programs/bachelors/computer-science/threads

But in terms of picking which one to do and the timing? There is no right time. As a developer, this field is constantly evolving and you're expected to keep up with the pace of change, so the better mindset would be to pick the one that interests you. Picking something cuz it's quick or easy might burn you out in the long run rather than picking something that you draws out your passion and will keep you motivated.

0
0
Updated
Share a link to this answer
Share a link to this answer

Peter’s Answer

learning programming is similar to natural language, it allows you to dialog and communicate with the prospective systems or people. In the end, they just a dialect to get translate to some machine code to execute. If you really interesting in those area, then read up something like https://en.wikipedia.org/wiki/Machine_code . once you learn a few languages, they all look similar, it does not imply master a language is easy.
It is really depends on where you want to go and do, it is a tool to solve some specific problems.

hope that help
0