Skip to main content
8 answers
Asked Viewed 268 times Translate

What is the easiest way to learn new programming languages?

I am a freshman at Cal Poly Pomona majoring in Computer Information Systems. I would like to develop my technical skills but I am not quite sure where to start. Any advice would be helpful, thank you. programming

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

6
Pros
6
0

8 answers


Updated Translate

Mark’s Answer

I find that the ability to program is separate from the knowledge of programming languages. It takes a certain mindset to be able to mentally visualize a logical solution so if you can program at all, the rest is semantics; the semantics of the new language.

My approach is to remake something I've made before using the new technology. My favorite is the dice game Craps. I've written a Craps program in RPG, FORTRAN, BASIC, Javascript, Flash, and some interesting hybrids like AJAXing the interactions and doing the processing in PHP. My rationale is that I know the problem and the program flow very well. The only thing that's changing is the language I'm using to express the solution. The game itself is of a good complexity but doesn't require rocket science. It does require input, output, processing, some randomization, plenty of decision making and laying out an interface. This allows for lots of exploration too. RPG didn't lend itself to motion graphics but Flash did. Adding CSS3 animations took a huge load off my Javascript.

Attitude is important too. Curiosity is what drew me into programming to begin with. Questions like

How do I...
Can I...
What would happen if I...
How does this tie into that...
Would it be possible to...
What would happen if I...

These will lead you into corners of the language there isn't time to cover in class.

Learn to love to learn: When I started out, we had HTML and Javascript. Rounded corners were 3 x 3 tables and photoshopped assets. If I had stayed there, I wouldn't still be working in web development. I spend at least an hour a day beyond my work for clients just looking at all the incredible things my peers are doing, reading tutorials, researching ancillary technologies. People in programming are very interactive and most are helpful. If you can't find an article or forum thread on your exact problem, your curiosity has served you well!

Finally, look for your tools in the new language. If you're going to solve a logic problem, you'll need basic tools like branches, comparisons, and collections. Different languages have different approaches to the needs of a programmer but the needs of a programmer don't change.

Mark recommends the following next steps:

Install a local server like WAMP or XAMP and start a project called playground. Play at least an hour a day.
1
Pros
1
0
Updated Translate

Jorge’s Answer

I suggest to start with a personal project. Choose a small task that you would like to automate. Once you have the scope of your project, try to visualize the end result. Does it have a GUI or is it a command line program? Does it store information in a database or in a text file? Write it down if necessary.
After you have a mental image of your project, think of the logical steps to implement the functionality and rephrase them as questions to use in a search engine (i.e how to write to a text file). Refine your search terms with your programming language of choice (i.e how to write to a database in Python). Choose the results that you find easier to understand and implement them in your project. See how it works together and if it does what you expected it to do.
The next phase is to read about programming best practices and software design patterns. This knowledge will help you distinguish between good code and poorly written code.

Jorge recommends the following next steps:

Choose a personal project to experiment
Read about best practices and design patterns
1
Pros
1
0
Updated Translate

Alan’s Answer

The first step is that you want to learn, have a open mind, this path at the beginning is very hard , but after a time you are an junior developer , as all things take time. Ok right now star the way to learn, read and know about related programming, sintaxis, word reserved, why? Because if know how it works is much better your comprehension and surprisesongly you love it, remember if you love you are able to learn more , you must waste your time practicing and if you want and can pay a tutor is much better, but if you learn by yourself , I recommend trying and trying the exercises many times up to dominate , begin creating an screen that have add, update and delete, by the way select a language most difficult and more popular, don't waste your time trying understand the things doesn't related about programming for example don't pretend to now how work the database, you will have time for that, Concentrate about coding. Meet, join with people programmer they will give theirs experience and know yours best practices That's how I started.
0
Updated Translate

David A.’s Answer

If you take programming classes in school, they will teach you the basic skills needed to get started. A lot of times, if you take multiple programming courses, in different languages, for example Java and C#, you will see there’s a more similarities than differences. A good teacher will explain why things work the way they do, and step you through the basics and give you projects to practice those skills.

There’s also many different ways to learn online. YouTube or freecodecamp, or W3 schools, all have a lot of content that isn’t too hard to follow.

The library is another good resource. You can borrow books on different skills you’re interested in, without spending a fortune. Some libraries also have partnerships with Lynda.com, which has a lot of tutorials, and usually has a fee, but with a library card you can get free access.

One thing I recommend is try taking everyday tasks, and breaking them down into the simplest steps. This helps you get an idea of the logic behind the task.

Another thing I recommend is maybe try starting with HTML. While it’s not technically a programming language, it’s a good way to start learning syntax and keywords, and how they repeat and fit together. It’s also an easy thing to start working on, without having to set up special development tools first.

Hope that answers the question and is some help. Good luck!
0
Updated Translate

Stephanie’s Answer

Hey Michael,

So, to kind of piggy-back off of some of these amazing responses, the hardest part about learning a new programming language is it's syntax. The flow of execution is the same for a lot of things. Like making a sandwich: we know the beginning is prepping your station, the middle is the procedure of working with those ingredients, and the last part is combining those pieces together. Output is always the same. The flow is always the same. Maybe instead of a PB&J, you decide to make a BLT. Same flow, different ingredients. The same can be said for programming languages and their syntax.

EXAMPLE: At a high level, I want the flow of my program to print "Hello World." but there are many different ingredients (i.e. Python, Java, C, etc.) to use. So I can either create a sandwich with:
- Python: print('Hello World.')
- Java: System.out.print("Hello World.");
- C: printf("Hello World.");

The flow with these languages all work the same, but the syntax, as you notice, is different. Some require more steps and dependencies. How I would suggest handling going about learning different programming languages and how to use their ingredients to create your sandwich, is what Mark said in his answer. Find something that you understand well and how it flows logically then try recreating it using different languages. If interested, a good game I would suggest trying this technique out with is Pong. Where you have two sliders, one on each side, and a ball that you pass back and forth. And, if you're feeling really crazy and up for it, throw in some razzle dazzle and create a pointing system that keeps track of every time a slider hits the ball over back and forth. Then find more ways to change it up and expand your knowledge. Maybe make the background change colors for every hit, The more you mess with it and add onto your logic, the more ways you'll discover how to manage your code.

Another awesome suggestion given by Jorge which was phrase your questions accurately in a search engine. It can be very daunting when searching 'How to code in Python' and then you are thrown 500+ different resources. So it is nice to have an idea of what it is you are looking for and minimize your search by tailoring your question specifically to what it is you are trying to learn or find more about.

One key thing to note, when going about any implementation process, write down your thought process before just hitting the ground running starting to code. I mean, some people work better that way, it's a gift. For me, I find it easier to write out what I am trying to accomplish, work out it's flow, then start to code building off that foundation I laid out for myself. There are also some good online tools to practice that. There's something called UML (Unified Modeling Language) that is a type of software design that is very nice for taking on challenges and helping you to better visualize what it is you plan to implement. So instead of already coding while trying to focus on both what logic needs to go into and learning a language's syntax, write down your logic flow so while you code all you're focusing on is interpreting the language correctly.

Good luck making code sandwiches! Have fun with it.
0
Updated Translate

John’s Answer

Just like any language the only way to learn it is by practicing reading, and writing. There are many resources online, and sometimes it is easy to be overwelmed with many examples. Several programming languages have an official guide which is very good for both an initial overview, and a reference once you get the basic syntax. Once you are able to make a few small projects of your own in one language don't be afraid to look at, and modify the source code of open source projects which you already use, or which you may find useful.
0
Updated Translate

Hunter’s Answer

The great thing about coding is that you can learn while creating something cool. Choose something outside of coding that you are passionate about and create a simple app around it. This will keep you motivated and enjoy learning the new language a whole lot more.

For example I am really into tabletop role playing games. So my very first app in React Native was a d20 dice roller. Very simple concept but it taught me a ton of different things. Package management, animation, rendering, state management , the list goes on.
0
Updated Translate

Donna’s Answer

If you are already studying to be a computer major, you probably won't get a lot of training in programming. Which to me really sucks! Colleges are not teaching programming anymore. I took PL1, Assembler, COBOL, Fortran and Pascal many years ago. But what I found that makes it easier to learn any programming language is understanding the logic of how something works. Doing the If / Then/ Else scenarios in your head continually makes programming easier. The differences between the different languages are just like speaking languages - logic and what you want to say or do is same, just a little different style or syntax.

Besides taking the training I had, I have learned other languages for database coding on my own by reading some how to Java type of books, SQL and even Lotus Notes Domino designing. Some applications have a help section to look up how the coding statements work and examples of them. So helps when trying to figure something out. If you can find a company that is taking interns, that is a great way to get your foot in the door as well as learn from someone who has experience. Good luck! We REALLY need some good programmers out here!
0