Jump to content

I'm going in a electrician (Wide meaning of the word in my language) school, basicly its a school where you learn to program. 
I get to chose between 2 languages Python and C, I'm not sure which one to pick.
Which one is better for general programming and which one is for (Edited to fit this forum :D)?

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/
Share on other sites

Link to post
Share on other sites

I don't know python myself, but do know C. C is a base, it's a good language to start, but python is used everywhere now and it only seems to keep growing. Go for python

Planning on trying StarCitizen (Highly recommended)? STAR-NR5P-CJFR is my referal link 

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5146626
Share on other sites

Link to post
Share on other sites

C is an old language with a lot of cringe when used in modern applications, but it IS common, and a good asset.

 

python is pixie dust for tinkerers, its a scripting language that, if used right, can do miracoli.

 

i can recommend python for learning, because it forces you into organising your code, and will smack your face if you dont.

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5146640
Share on other sites

Link to post
Share on other sites

C is an old language with a lot of cringe when used in modern applications, but it IS common, and a good asset.

 

python is pixie dust for tinkerers, its a scripting language that, if used right, can do miracoli.

 

i can recommend python for learning, because it forces you into organising your code, and will smack your face if you dont.

 

 

I don't know python myself, but do know C. C is a base, it's a good language to start, but python is used everywhere now and it only seems to keep growing. Go for python

 

 

I reccomend python, better learn a hard one first and then others.

Where can I use Python?

EDIT: For what can I use Python?

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5146655
Share on other sites

Link to post
Share on other sites

Where can I use Python?

a raspberry pi for example, another great example is for converting databases, auto clickers, etc.

i have an IRC bot written in python.

 

python is a good language to automate a monotonous task.

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5146675
Share on other sites

Link to post
Share on other sites

My comp sci had basic, cobal and fortran. Great thing about learning to write computer code is you find out quickly whether you will love it or hate it. At least I did.

i had to wrestle myself trough assembly. the pain is real, but the reward is great.

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5146958
Share on other sites

Link to post
Share on other sites

choose C. If you understand C, you'll be able to learn every other language with ease (except weird ones and assembly). People really exaggerate how hard it is to learn; if you download GDB and Dr. Memory ( or Valgrind if you're on Linux), it's pretty easy to trace why things aren't working. After that, it's just as hard as trying to debug an "index out of range" or "null reference" exception in a high level language.

 

If you choose python, you'll probably be able to learn some other high level languages with ease, but since it doesn't force you to learn what's going on under the hood, you'll probably have a hard time when you eventually have to program something in C.

 

I'm one of the people that started out with a high level language. My university decided to start the CE students out with C#, and it's really not intuitive what things like ref and out do, why only primitives keep their values through function calls, etc. I had no idea what I was doing until I learned C, then it started to make sense.

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5148576
Share on other sites

Link to post
Share on other sites

Python, Lua, and Ruby. Probably the easiest that I've used.

Blue Jay

CPU: Intel Core i7 6700k (OC'd 4.4GHz) Cooler: CM Hyper 212 Evo Mobo: MSI Z170A Gaming Pro Carbon GPU: EVGA GTX 950 SSC RAM: Crucial Ballistix Sport 8GB (1x8GB) SSD: Samsung 850 EVO 250 GB HDD: Seagate Barracuda 1TB Case: NZXT S340 Black/Blue PSU: Corsair CX430M

 

Other Stuff

Monitor: Acer H236HL BID Mouse: Logitech G502 Proteus Spectrum Keyboard: I don't even know Mouse Pad: SteelSeries QcK Headset: Turtle Beach X12

 

GitHub

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5159055
Share on other sites

Link to post
Share on other sites

Depends on what you want to do.
In python there is a greater focus on high level control and abstract ideas.

C has a focus on very low level control and you get to do all the nitty gritty stuff.

Personally I recommend you start with python if you never have done any programming before, since you don't have to worry about pointers, memory management and by alignment. With python you are more thinking about what you want to achieve then all the little details.
If you have programmed before you can learn C.
Which ever one you pick you will still learn general programming skills. Once you know 1 programming language, you suddenly can do most basic stuff in all languages. In both languages you have functions/methods, variables, if statements, while loops, recursion, etc.

There is no 'best programming language'. A programming language is just like a tool, and you should always pick the right tool for the job. You don't want to write an operating system in javascript or python, just like you don't want to program a GUI focused program in assembler (unless you have a lot of time on your hands).

To get started with C the easiest way is to download an IDE like Visual Studio or Code::Blocks (both C++ focussed, but are also great for C)
To get started with python, you can download everything you need from python.org (although ninite.com also works great :P)

The most important thing is that you just learn as much about programming in general. Learn what variables are, what functions/methods are, how recursion works, etc.

EDIT: source: Studying game programming for 2 years. Programmed in C, C++ and C#. Did some python for fun. I mainly use C++.

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5180674
Share on other sites

Link to post
Share on other sites

If you were doing a Software/CSC program then I would say do C. It gives you a better foundation to learn on, however, as you are becoming an electrician, I highly recommend you choose Python. You will be able to learn how to do a lot more in Python than you would in C. Some of it may be very useful as an electrician.

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5192139
Share on other sites

Link to post
Share on other sites

I personally despise Python because I don't like being unable to see the data types being passed between functions (it takes me longer to code, even if using fewer lines, because I have to constantly retrace to ensure I'm passing in the right order and the object I'm getting is what I want to get). I suppose if you have no prior experience with coding this won't be a problem for you, but I prefer strongly-typed languages such as C. That said, memory management in C will take you at least a month on its own to truly understand what you are doing and when to do it.

 

Instead of new & delete, you get malloc, dealloc, palloc, realloc, and more keywords for doing various memory transforms. C is great for the basics, but when it comes time to do objects and data structures, go to C++ and then come back down. No one should be forced to learn OOP on just Macros and the terrible C class syntax, but that's just my 2 cents.

Software Engineer for Suncorp (Australia), Computer Tech Enthusiast, Miami University Graduate, Nerd

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5204208
Share on other sites

Link to post
Share on other sites

Don't choose C as a first language. C is an amazing second or third language because you can program pretty close to the hardware in it, but as a first language Python is far superior. Low level system programming is the place to learn C, but you have to learn to walk before you can run.

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5204368
Share on other sites

Link to post
Share on other sites

That said, memory management in C will take you at least a month on its own to truly understand what you are doing and when to do it.

 

I think it would take a lot longer than a month personally. To understand memory management you have to know about the heap, about the stack, you have to be good with pointers and pointer arithmetic, this isn't the kind of stuff most people are going to be able to understand in a first course.

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5204396
Share on other sites

Link to post
Share on other sites

I think it would take a lot longer than a month personally. To understand memory management you have to know about the heap, about the stack, you have to be good with pointers and pointer arithmetic, this isn't the kind of stuff most people are going to be able to understand in a first course.

Miami University isn't exactly a top 10 CS institution (top 30 ish in the last couple years), and we covered all this and more in my Data Structures class which only met twice a week. Now, to understand it to the point you can tune performance will take more than 1 month, but to understand what the keywords all do and when to use each effectively on a high level can be achieved in a month of daily study, 2-3 hours a day.

Software Engineer for Suncorp (Australia), Computer Tech Enthusiast, Miami University Graduate, Nerd

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5204439
Share on other sites

Link to post
Share on other sites

Miami University isn't exactly a top 10 CS institution (top 30 ish in the last couple years), and we covered all this and more in my Data Structures class which only met twice a week. Now, to understand it to the point you can tune performance will take more than 1 month, but to understand what the keywords all do and when to use each effectively on a high level can be achieved in a month of daily study, 2-3 hours a day.

 

Data structures isn't a first course in CS though.

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5204740
Share on other sites

Link to post
Share on other sites

I'm going in a electrician (Wide meaning of the word in my language) school, basicly its a school where you learn to program. 

I get to chose between 2 languages Python and C, I'm not sure which one to pick.

Which one is better for general programming and which one is for (Edited to fit this forum :D)?

 

I think it sad that you only have these two choices. If this is your first programming language, I suggest Python, to help you get used to programming notions like loops and decisions. Then learn C. If you had the choice, I would learn assembly first, then move on to these two. After Assembly language, all other languages are easy... And you won't learn anything about computer / cpu architectures with Python or C, but you will HAVE to learn them to do Assembly.

Link to comment
https://linustechtips.com/topic/380944-which-language-to-pick/#findComment-5213784
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

×