Jump to content

Programming language to start with?

tlmills82

I'm looking to teach myself some basic programming skills.  I have a very small amount of C experience, as I had to take a programming course for my Electrical Engineering major (I never finished it).

 

I've been looking into it again lately and it's something I really want to try to learn.

 

Any advice on which languages to start with/progress through?

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, tlmills82 said:

I'm looking to teach myself some basic programming skills.  I have a very small amount of C experience, as I had to take a programming course for my Electrical Engineering major (I never finished it).

 

I've been looking into it again lately and it's something I really want to try to learn.

 

Any advice on which languages to start with/progress through?

C++, Python or Java. Those are perfect to begin with. Have fun.

Link to comment
Share on other sites

Link to post
Share on other sites

Python, C++, C#, javascript, Java. Really just pick a language. The only thing that changes between languages is the syntax and default libraries as the programming skills are transferable between any language.

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to comment
Share on other sites

Link to post
Share on other sites

I started in python, not quite as intimidating as java to start with.

                     .
                   _/ V\
                  / /  /
                <<    |
                ,/    ]
              ,/      ]
            ,/        |
           /    \  \ /
          /      | | |
    ______|   __/_/| |
   /_______\______}\__}  

Spoiler

[i7-7700k@5Ghz | MSI Z270 M7 | 16GB 3000 GEIL EVOX | STRIX ROG 1060 OC 6G | EVGA G2 650W | ROSEWILL B2 SPIRIT | SANDISK 256GB M2 | 4x 1TB Seagate Barracudas RAID 10 ]

[i3-4360 | mini-itx potato | 4gb DDR3-1600 | 8tb wd red | 250gb seagate| Debian 9 ]

[Dell Inspiron 15 5567] 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, tlmills82 said:

I have a very small amount of C experience

c++ :D

-sigh- feeling like I'm being too negative lately

Link to comment
Share on other sites

Link to post
Share on other sites

if you want something really easy go with batch, i have a load of fun with it and its super easy when you learn to accept its limitations, otherwise go with C or Java

I spent $2500 on building my PC and all i do with it is play no games atm & watch anime at 1080p(finally) watch YT and write essays...  nothing, it just sits there collecting dust...

Builds:

The Toaster Project! Northern Bee!

 

The original LAN PC build log! (Old, dead and replaced by The Toaster Project & 5.0)

Spoiler

"Here is some advice that might have gotten lost somewhere along the way in your life. 

 

#1. Treat others as you would like to be treated.

#2. It's best to keep your mouth shut; and appear to be stupid, rather than open it and remove all doubt.

#3. There is nothing "wrong" with being wrong. Learning from a mistake can be more valuable than not making one in the first place.

 

Follow these simple rules in life, and I promise you, things magically get easier. " - MageTank 31-10-2016

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

If there is interest, I'd also suggest giving AutoIt a try. Rather simplistic and personally have found many uses for various scripts and tools for work and home. Plus comes with an actually decent help. And a lot of examples from community scripts with the help of google searching.

 

https://www.autoitscript.com/site/autoit/

 

Edit: Does have one major limitation. Whilst it does not require any specific framework to run from one machine or another, it is Windows dependent.

Link to comment
Share on other sites

Link to post
Share on other sites

Python will get you the best bang-for-your-buck of almost any language.  It's fast and easy to learn and easy to start doing a lot of very productive things with.  Part of this is because it's designed from the ground up to be a simple to use, user-friendly language, and part of it is because a lot of instructional materials focus on how to use Python in a very practical way rather than spending lots of time talking about how Python itself works and a lot of the more academic stuff surrounding it.  (There is plenty of that stuff out there, though--most "Learn Python" materials just omit it).  Python has an absolutely massive, very friendly userbase of everyone from amateurs to seasoned, veteran programmers, and a lot of material is free, so it's always easy to get help.  There's also a massive amount number of libraries for Python that let you easily use it for just about any application you can think of--network stuff, numerical computing, games, natural language processing, websites, etc.

 

Since you have some C experience, any of the C-derived languages are great choices.  C++ is very widely used in industry and for writing software, and is comparable to C in terms of execution speed while being much more feature-rich and developer-friendly.

 

Java is probably between Python and C-like languages in terms of pretty much everything.  It's generally easier to use but slower than C, but harder to use and faster than Python.  Also like Python, Java has a massive number of libraries for every application you can think of.

 

I'd personally suggest Python.  Easy to pick up, easy to get good at, incredibly useful, and even fun once you get into it.  Java/C++ might be better if you want to learn stuff more oriented towards writing large software applications, though.

Link to comment
Share on other sites

Link to post
Share on other sites

I suggest learning Python first and then moving on to C++ or Java.

Link to comment
Share on other sites

Link to post
Share on other sites

Hm... learn X language then move to Y language, learn C++, C#, Java. I wonder what "learn" means in case of such languages? You can learn the syntax pretty easily, do few hello-worlds alike apps and that's it I guess. You will know the syntax and basics but with zero practical knowledge.

 

From a practical point of view you have to choose what you want to code. Will it be web oriented, scripting, or desktop/mobile native apps as that determines best platforms. And you learn the whole time, not just at start to get the syntax and basics. You learn how to use tools, frameworks, how to write good code, and how to make something that actually is usable and works.

Link to comment
Share on other sites

Link to post
Share on other sites

Learn whatever you want to use, don't start with Python because "it's the general opinion". I actually think that Python isn't very good and how its community behaves is cringe worthy (for example the whole 2 vs 3 thing).

I personally started with C++, and it made "easy" languages like Python or Ruby much easier for me.

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, Gachr said:

Learn whatever you want to use, don't start with Python because "it's the general opinion". I actually think that Python isn't very good and how its community behaves is cringe worthy (for example the whole 2 vs 3 thing).

I personally started with C++, and it made "easy" languages like Python or Ruby much easier for me.

Well, I'm a Python developer and my company main application is Python 3 since like 2014 while legacy web apps are happy with 2.6 so I don't see a problem.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, riklaunim said:

Well, I'm a Python developer and my company main application is Python 3 since like 2014 while legacy web apps are happy with 2.6 so I don't see a problem.

Some libs are exclusive to 2, and some are to 3, it was very annoying. But that was some time ago, perhaps things changed recently.

Link to comment
Share on other sites

Link to post
Share on other sites

Versioning is something you can't avoid in dynamic languages that are in such active development. Or frameworks (like Django) and popular libraries that deprecate features over time or add new ones. When we were moving to Python 3.3 we just made some pull requests on Github or also dropped few dependencies that could be replaced by other code. And done.

 

As of now Ubuntu 16.04 by default ships only with Python3 with Python2 in repo if you need it.

Link to comment
Share on other sites

Link to post
Share on other sites

On 4/17/2016 at 6:18 PM, Bananasplit_00 said:

if you want something really easy go with batch, i have a load of fun with it and its super easy when you learn to accept its limitations, otherwise go with C or Java

Batch is a horrible language to start with. You don't learn how to properly format your code, you don't learn object-oriented programming, and the knowledge you get from learning batch is not easily applicable to other programming languages.

 

I started with Python, you can't go wrong with it. Javascript is another solid choice as well, since it's huge for web development.

CPU: AMD FX-6300 4GHz @ 1.3 volts | CPU Cooler: Cooler Master Hyper 212 EVO | RAM: 8GB DDR3

Motherboard: Gigabyte 970A-DS3P | GPU: EVGA GTX 960 SSC | SSD: 250GB Samsung 850 EVO

HDD: 1TB WD Caviar Green | Case: Fractal Design Core 2500 | OS: Windows 10 Home

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, EpicAdom said:

Batch is a horrible language to start with. You don't learn how to properly format your code, you don't learn object-oriented programming, and the knowledge you get from learning batch is not easily applicable to other programming languages.

 

I started with Python, you can't go wrong with it. Javascript is another solid choice as well, since it's huge for web development.

yah but its really easy, and you can do some pretty fun stuff with it, thats why i said it. it shit but its easy

I spent $2500 on building my PC and all i do with it is play no games atm & watch anime at 1080p(finally) watch YT and write essays...  nothing, it just sits there collecting dust...

Builds:

The Toaster Project! Northern Bee!

 

The original LAN PC build log! (Old, dead and replaced by The Toaster Project & 5.0)

Spoiler

"Here is some advice that might have gotten lost somewhere along the way in your life. 

 

#1. Treat others as you would like to be treated.

#2. It's best to keep your mouth shut; and appear to be stupid, rather than open it and remove all doubt.

#3. There is nothing "wrong" with being wrong. Learning from a mistake can be more valuable than not making one in the first place.

 

Follow these simple rules in life, and I promise you, things magically get easier. " - MageTank 31-10-2016

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

If you start with say Python, what would be good steps to start learning and use it? I'm also interested in learning coding but I can't seem to find a use for it, and in turn not really propperly learning it.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, LordXyroz said:

If you start with say Python, what would be good steps to start learning and use it? I'm also interested in learning coding but I can't seem to find a use for it, and in turn not really propperly learning it.

1. Learn through some beginner friendly videos and other resources to learn all the general programming concepts.

2. Study the language documentation for its syntax and standard library to learn as much about the core language as possible. You can also read books for, say, the best practices of a language.

3. Study algorithms, there are quite a few coding websites where you can solve different problems. Project Euler is the most well known one, but there are some other ones that I learnt lots from, but I can't recall the name right now.

4. Find different kinds of libraries and programs you can interact with to create websites, games, graphs, calculations - whatever you wish. You can go right to this step from any other if you wish to use programming just to for one purpose. However, from your post, I'm assuming that's not the case.

 

If you don't have anything to use programming with, then I'm not sure there is a point in learning.

Link to comment
Share on other sites

Link to post
Share on other sites

If you already know some C you should move around the Basic family (which where C comes from), that means C++, C, C#, Java...

However if you can't seem to find a use for it, then what's the point of learning it at all?

Do you plan on working off it at some point in time?

If that's the case I recommend going all the other way to web programming, it's kinda* easier to get a work off of it.

 

*Disclaimer: I mean there are a lot of less requirements jobs in that area than other programming areas such as databases or os development.

Link to comment
Share on other sites

Link to post
Share on other sites

Python. It's fast to learn and powerful enough to be really useful after just a couple weeks.

3600X @ stocke | 5600XT TUF OC @ 1850 | 2x16 + 2x8 RAM 3200 HD | 1tb Samsung 970 EVO Plus | Lian Li 205M | TT Toughpower Grand RGB 850 | throwaway b450 asus mobo | BQ cooler

Link to comment
Share on other sites

Link to post
Share on other sites

Do you want to do coding or programming?

A programmer is to a coder what a designer is to a production artist.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

If you are looking to learn the basics of programming I would recommend using VBA to get started. 

All that's required to start writing code is a version of Excel on your machine.

This is the first language that I learned and it has helped me automate and make my general work tasks easier.

Once you have become accustomed to the general logic of programming it will be easy to move to another more powerful language.

Link to comment
Share on other sites

Link to post
Share on other sites

If you already have experience in C programming then you should start or continue with C. Learn the basics as almost everything in C has to be done manually like implementing a linked list. Once you feel you've reached a limit on what you can do in C, you can move to an object oriented language like Java, C++, etc.

If you want a very low level machine programming you can learn Assembly.

Link to comment
Share on other sites

Link to post
Share on other sites

The reason I asked about how you can go about learning is beacuse I'm going to do a programming course and want to get a head start. I have no trouble learning new stuff through practice, but when I have no tasks or uses that I can come up with I'm just going to get stuck at: "I know this does this and that does that, but how can I use it to do something complicated?"

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×