Hello guys, I've been interested in learning programming for years but due to various circumstances in my life I never really dug into it and learned it proper. According to /sci/'s Computer Science and Engineering page on their wiki there is no problem with starting with C++ but it seems to be written from a computer science perspective and I simply wanna learn programming and see if it's fun and something for me before digging in deeper.
So, should I start with C++ or some other language? Is it better to start with C instead or should I use a simpler language like Python? Also what books would you recommend and should I use an IDE? I am gonna be stuck on a Windows computer for a while since I need that for school. Thanks in advance.
Either C or Pascal. I personally recommend pascal as your first programming language, but some says that it's too verbose.
Jordan Parker
Why Pascal?
Thomas Young
C if you would like to learn the innards of programming at a lower level - it'll definitely make you a better programmer in the future. If you don't give a shit and just want stuff to work, Python or Java.
Noah Roberts
mIRCScript !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Benjamin Bailey
You want something fun and easy to start with ? Python
Isaac Anderson
Because it's closer to human language than C, thus easier to learn with
Dylan Wood
Any good books for learning C? I know people tend to recommend K&R but I've heard it's somewhat outdated and also expects you to have previous experience with programming.
Owen Jackson
Both C and C++ are fine. I started with C++ with the tutorial that is in the cppreference website and then I moved to C. Just use linux gcc compiler and a text editor of your preference.
like C is the barebones programming language that gets you closest to the hardware interface and python seems like a good all around language for hackers. then there are more earlier stuff like fortran and basic. starting with c++ or c# is like "well i live in france but i want my first language to be portuguese" then theres bourne again shell which is what a lot of these college fags dont really use because their teachers are dumb and they dont want you to ever get good. learn bash
Carter Campbell
depends entirely on what you want to make. in fact, focus on that and how you can solve the same problems from different approaches
Sebastian Murphy
Start with C, use C Programming: A Modern Approach by K. N. King. Do NOT start with python.
Jose Moore
c# python
Logan Taylor
C++ is fine for as the first language if you are planning to make it your job. Python is fine if you just want to build something and can accept that 99% of the material assumed you are in middle School.
Joseph Myers
You're a beginner, and you want to learn to see if it's fun before digging deeper, correct? Then do NOT start with C. Don't listen to these guys, their motive is either to scare you off, trolling, or (less cynically) to expose you to a 'real' programming language. First off, C is a dead language. It was the precursor to C++, which was a successful attempt to streamline and simplify C without a reduction in power. Nobody realistically uses C these days unless it is for legacy systems. Secondly, it's probably the most complex language a beginner could try to get into. You know what I'm too tired to write an essay. Just don't trust these guys and go for something simpler. Python is a good shout.
Hudson Richardson
C is a good language to learn as your first language as it is assumed you know it when you are coming to a different language. I personally started with assembly as my first taught language and it wasn't an attempt to scare me off, it was a way to pull me in. C++ is better for a new programmer than C because you can learn all the relevant C things while also have access to strings and shit.
Parker Fisher
>my first language was assembly Ah see I think the problem here is that you've assumed OP is cripplingly autistic like yourself.
Kayden Rodriguez
Don't ruin our fun :o(
Jace Gomez
Begginers should start with hard languages like C++ to understand how shit works and to realise that complexity of programming isn't in language itself.
Christopher Watson
>don't Learn the language everyone take derivatives from, don't learn a language with. Loser co troller of memory, and thus teaching the dangers It is perfectly fine you fag.
Kayden Collins
that's a weird way of saying Lua
Ayden Clark
Ok here's an analogy for you to clear up the confusion. Let's say you want to learn a language, a SPOKEN language. All the people in here saying you should learn C because it's a good foundation, other languages are derived from it etc... It would literally be like learning Latin. It's a dead language, but hey it'll help you understand other languages better! AKA it's horseshit.
Cameron Ross
What a shit analogy. C is language that provides best opportunity for problem solving because it's more if a mathematical language. Because people on g are autists, they like idea of mathematical solutions. Because computers are mathematical C can fundamentally teach you how computers work
Landon Evans
Isn't C still used for driver development and stuff where you need fast speeds?
Mason Hughes
c++ with dev-cpp
Jaxson Smith
stupid question but how do you go about running C on windows?
Easton Nelson
first, learn C then learn some OOP (but not C++)
Brody Richardson
just use an IDE code:blocks to start, then you will find any other that will be better
John Baker
I only know devcpp IDE for windows, but I think that it works fine with C
Henry Carter
wrong. learning C first gives you a leg up on every structure that modern languages use to implement themselves. and it has pointers which are crucial to understand
Adam Cox
Start with a high-level language to learn the core concepts of programming, like python. Then once you're comfortable with that, move onto whatever language fits your usecase best, which could be something low-level like C/C++ or some webdev shit like javascript.
Don't listen to the retards on this board who were forced themselves to learn C as a first language and think they're smart for doing so.
I first learn programming via python as part of my physics degree. It was a great introduction the concepts, even though it's dogshit slow and full of weirdness. but all of this DOESN'T MATTER when you're learning to program. You just need to understand the concepts, which are universal between languages. If you're comfortable with all of these, learning something low-level like C++ is piss easy. Personally i found learning C++ extremely easy, and it took me two weeks of doing it on the side whilst i was taking quite a heavy course load. This is because i didn't have to deal with all the low-level shit in C++ at the same time as i was learning everything else.
Oliver Gutierrez
Hey guys, OP here again. So it seems like C is a good choice for a beginner language then? What are some books that are good for learning C? Some peeps recommended K&R earlier in the thread but as I also said earlier I heard it's outdated and assumes previous programming knowledge. Thanks again.
Would matching C and Python be a good idea since Python has support for OPP programming?
OP do NOT listen to these retards jesus christ if you learn C first you'll be overwhelemed and hate programming forever. Don't get me wrong, C is a great language and can be a great way to have a deeper understanding of how computers and programming works but for the love of christ don't start with it, especially as you've made clear you just want to get a taste of programming to see if it's for you. Start with Python. It's easy, powerful and you can get into 'real' programming right away. Anything else you'll be bogged down by boiler plate and theory for a long time before you write your own code. Also, never ask Jow Forums for advice again you absolute fucking retard.
Blake Kelly
What are some good books for learning Python?
Hunter Reyes
Assembly.
Matthew Rogers
You don't need books, just jump into code academy, then when that's taught you basic syntax and key words find simple programming challenges online to attempt. Hackerrank and r/dailyprogrammer are both good.
Charles Garcia
k.n. king's c programming: A Modern Approach
Aaron Thomas
Codecademy doesn't really mesh well with how I learn. They have several videos in their lessons, something that makes my mind wander, and I don't think they do a good enough job at explaining the concepts they are trying to learn. I prefer to just read something like that since I can take it on my own pace rather than sit around and wait for the dude with the boring voice and cringy jokes to finish what he's talking about.
David Hall
Thank God one of us got through to him. Why is Jow Forums so fucking evil?
Hudson Reed
When I did code academy I never watched any videos, it was the interactive lessons that were useful, and the fact it was far faster than getting through any book, but if you personally prefer learning from books then that's fair enough, and I hear 'automating the boring stuff with Python' is a good start for beginners.
Nolan Torres
Thanks, I'll check that one out.
Adrian Jones
Start with just C. Once you know C you can easily go learn any other language.
Gavin Peterson
It's better to start with something simple, like Python. But C is a good language too, but it's a bit more difficult. I recommend you to start using Linux for programming. It's much easier and you don't need to download anything, because everything you need is already preinstalled.
Learn Python if you want to jump into programming and get a good idea of the basic practices. There's tons of resources and Python avoids overcomplicating things. All the people suggesting learning C aren't wrong about it being a good foundation since it FORCES you to learn the nitty-gritty details, but it may be overwhelming, especially once you get into things like pointers.
Stick to Python and practice some of the easy test questions on HackerRank or Leetcode to get into the logical mindset of decomposing a problem into programmable steps.
Hunter Martin
Last time I used codecademy for python there were only interactive lessons, you might be thinking of codeschool unless codecademy has changed to video lectures in the last like five years. Either way pythons a really great choice OP, fun toy language with room for learning specific comp sci concepts. Go's not too bad for this either if you wanna look like a suckless tryhard.
Gabriel Roberts
Java I've been learning it and I like it more than python. A good book is by tony gaddius Java language companion
This. I'm limping through a C course right now and it made me fucking hate programming. Gonna do python afterwards then come back to C.
Leo Cook
Start with c, java or python for the oop fundamentals principles Dont waste your time on books read the documentations and watch tutorials... Start with simple projects than move to c++, c# whatever.. for a bigger and more complex aplications
Eli Davis
Don't start with c++ : it's a horrible language to both learn and use. If say start with Java or C# as it will teach you a lot of the basics while still exposing some of the inner workings you'd miss learning python (python also has a very lax syntax that while easy to learn will be harshly punished by almost all other languages). They are both good gateways to harder languages like C, C++ or Rust and easier languages like scala, python or julia.
For a first language you really don't need an IDE - they are slow and unless you're using some gradle/bazel environment scripts really not worth the pain of setting up. Text editor of your choice and command line tools is the way to go.
1. Your first language doesn't matter as much as you think it does. As people already pointed out, a lot of languages come from C. But that also makes them similar to each other because they all try to be a simpler version of the same thing. Just pick one and stay with it until you're somewhat confident with it. This goes a bit far, but your second language should be something suitably different from what you already know then. Hopefully you will know what that is at that point. 2. What do you want to program? Different languages are useful for different things and it's good to be motivated by doing something you like. Do you have a hobby project in mind or do you want a job in a specific industry? Find out what is used where and learn the adequate language. 3. If you still don't know what to do, learn Python. That language was literally designed for teaching to program. You'll get visible results (comparatively) easy and it can be used for all kinds of stuff.
Also, think about installing Linux in a VM and use that. Linux provides a way better programming environment than Windows.
Jayden Cook
What about Lua?
Aiden Scott
Racket
Dominic Edwards
Complete opposite of me. I hated Java when I had to learn it in university and gave up on programming entirely until I came back to it with Python and loved. Different strokes for different folks, I guess. But I definitely see the worse parts of Python now.
Grayson Scott
>C >it's more if a mathematical language. Dumbest Post Award
John Gonzalez
OP should listen to this user
Carson Flores
True I understand more of syntax now though so I may try pythin again tho.
Not OP but my first programming language was Java because of AP Comp Sci A back in high school (not enough normies will sign up for a C class). What did I miss out on?
Nathaniel Johnson
OP here, I'm interested in making small games and maybe eventually dig into software development in general.
Brody Barnes
linux subsystem for windows or visual studio community with a lot of extern "C" {
If you want to develop games, C++ is actually good choice. But that's mostly if performance is an issue. There are other choices if your game doesn't try to use sorta high-end graphics. Python has a library for visual novels, for instance. Racket has some graphics capabilities built in and was developed to let students make little games. While Racket is not that widely used, it's a cool Lisp and good if you want to get into stuff like programming language design, it's a good starting point.
C++ or python some good resources to learn are khan academy, hacker rank, project euler, and stack overflow
Bentley Lewis
C#, but after that C is mandatory as a second language and assembler as third, then D for real stuff.
Levi Ramirez
start with lua. go through that pdf on lua.org describing how to use lua5.1. Then after you can complete some basic Jow Forums programming challenges do you start kandr C