Is CodeCademy Any Good?

Learning Python on CodeCademy, what I'm wondering is :

Is Python a good first language to learn? (If not then what do you recommend?)

Is CodeCademy any good? (If not what would you recommend?)

And also general advice would help.

Thanks,

Other urls found in this thread:

docs.python.org/3/tutorial/
try.jupyter.org/
myredditvideos.com/
twitter.com/SFWRedditVideos

Check out coursera

Never heard of it, thanks for the help I'll give it a go now.

Python is good to start with because the syntax feels quite intuitive and the language itself places more importance on concepts. It's quite versatile too.

Good stuff, thanks

No.
C, C++, C#

No
Coursera
K&R 2nd Ed

You literally could not be any more wrong

Oh okay, why would I want to start with C, C++ or C# over Python?

Python was my first language and I find it to be a very useful and easy language.

Okay cool, thanks

Don't listen to him. He's just contrarian. Python is fine. Also, I got a job 9 months after starting coding with Codeacademy. It really does work, just stick with it and take it slowly.

C# has nothing to do with the other 2. The reason you should learn a more complicated low level language (C or C++) first is that you will learn how programming works. You will learn the difference between ints and floats, how constants work, etc. These things require you to pay attention. In Python, I felt that it was difficult to learn a bunch of shit that I didn't know. I didn't appreciate the language, and missed important details that explain the development mindset.

Yes, the best, probably.
No. Maybe for a total n00b to not get lost. I'd recommend reading official tutorial from beginning to the end docs.python.org/3/tutorial/
Also, if you don't like terminal, install yourself Jupyter Notebook try.jupyter.org/

Okay, thanks also that's awesome.

C - No libraries to hide everything behind. Everything you write, you know precisely why it works.

C++ - Like C, but isn't a fucking pain in the asshole for strings

C# - You don't feel comfortable working with things at such a base level yet. C# has an incredibly fluid syntax and visual studio is incredibly good at telling you precisely why you can't do something.

Python is "easy" but it's also worthless outside of itself. You never learn what you're doing in Python, just that Python does stuff that way and uses libraries for it.
It hides everything behind bizarre idiosyncrasies you won't find in any other language, doesn't handle arrays like any other language because they're not actual arrays, and the whitespace syntax will basically ruin you later on when you start writing code like a sane person and try to stick to the 80 column rule.
Learning Python first is a great way to have to go all the way back to square one when you go to a proper language.

This is, of course, relative to how serious you are about learning to program. If you just want to write a web scraper to crunch random data, or you're even just a biology student looking to automate some tasks, go for it.
If you're actually planning on learning to program, avoid it.

And I got a job after fucking with Ruby for 2 months, that doesn't mean I would ever, EVER recommend learning it first.

see above on why I recommended C#

How did you guys get a job so quickly without a degree? Did you contribute to github, put apps on the play store, or what?

would recommend C first. it's near to hardware, means you learn how to program for real. python is literally lego

Its because theyre lying or working for shitty salaries.

Dumb luck and I was fine being paid like shit.
I was doing application support for a small company and one of their QA guys was leaving. He just happened to see me fucking around in Ruby one day and suggested my name to the project lead.
I still got a pay raise and got to spend all day teaching myself C#, so it was still a win/win for me.

I didn't work for me. Books are better imo.

>doesn't handle arrays like any other language because they're not actual arrays
access an a array in python
a[x], speed O(1)
yeah it actually is just like any other language...

The only programming languages you need to learn to get a high paying job are JavaScript, SQL, and C#

>SQL

Isn't this really boring?

Python does not have native arrays, it only has lists.
As far as I'm aware, indices are not constant time access.
I could be wrong about that, but it's not really my point. My point is that it's arrays are not arrays, which should be a gigantic red flag.

Yes and it's also very simple. Everybody should know basic SQL, but leave the heavy lifting to DBAs who get paid lots of money to deal with that all day so you don't need to

C++ is ane fuck

On the one hand you seem to know what you're talking about and write a compelling argument, on the other hand every single other source has recommended python as a 1st language. Should I seriously stop now and restart with C or C++?

What language did YOU start on?

According to the Python3 TimeComplexity documentation, lists are arrays internally, which is why the set and get operations are constant time. However, it is a dynamic array implementation so other operations like append run at an amortized constant time instead.

Basically the vector data type.

>As far as I'm aware, indices are not constant time access.
They are. They are implemented as an array of pointers under the hood. I'm trying to work out why you'd ever think otherwise. Could it be that you thought of std::list in c++, and were so incredibly fucking retarded that you assumed python lists had to be implemented in the same way? Honestly, I'm struggling here. Explain your thought process.

Pretty much everyone here has said not to start with Python. People that say you should start with python typically aren't great programmers, which is fine, but you should want to be as good as possible so you can have the best job security possible. I know it can be daunting, but it really is important to understand HOW programming works, and Python simply doesn't do that. Even really good Python guides fail to teach this.
C/C++ strictly enforces certain laws/rules that will make programming much easier in the long run. Who cares if you know what arrays/loops/conditional statements are, if you don't know why they're there?

Every other source probably didn't move away from Python, or if they did they moved to Javascript which is such a disgusting mess of shit that anybody would prefer Python over it.
People love Python because it's easy for non-programmers to use. It's bad for every other reason. You choose what use case you fall into.

I started on Ruby, which is like Python but even more flexible and idiosyncratic. I would not recommend starting on it, but I would recommend learning it later on because it's very comfy once you understand it.

That must be what I'm thinking of.

Either I've misread something somewhere regarding Python List implementations, or it was regarding 2.7 or earlier. It apparently isn't as big of a deal in 3.0+
That does raise another huge issue with Python though. The version changes are not compatible with each other.

How is Javascript as a first language?

ARRAYS AND OTHER DATA STRUCTURES ARE A SPOOK, THE ONLY THING THAT EXISTS IS CONTIGUOUS MEMORY ADDRESSES

>Either I've misread something somewhere regarding Python List implementations, or it was regarding 2.7 or earlier. It apparently isn't as big of a deal in 3.0+
It was array-backed in python 2 as well m8.

>That does raise another huge issue with Python though. The version changes are not compatible with each other.
I think the huge issue is that you are talking out of your ass. You clearly don't have sufficient knowledge about python, and trash it for issues it simply does not have.

PHP. It's the best language to break into quickly, with plenty of room for salary growth.

I dedicated about 20 hours a week to it. I made tons of projects and put them on the internet. A plug.dj clone, an exercise tracking app (for somebody, not my idea exactly), a restaurant webpage (restaurant never used it), and a very fancy although probably tacky web resume.

Put out my resume 9 months after first day of learning, got calls in a few hours. Head hunter hooked me up with a small company. Company had me take a PHP test. I aced it. Then they had me develop a feature. I did that too. Then they hired me on a 3 month contract for salary equivalent of 25K. After that, they signed me and gave me a raise. I'm still working there 2 years later.

In Florida, start at 35K, 2 years later now getting 47.5K.

Only tough part is getting started and sticking to it. Once you can build stuff it's like pic related

I get your points, but they're all way over fucking exaggerated. If Python is fun and engaging, he'll stick to it and will branch out. If you learned C first, he'd likely get the impression that programming is inherently incredibly difficult and boring, when really it's just C.

perfect, it'll make you put up quick things to whet your appetite for programming and make you curious to learn deeper

>issues it simply does not have.
All issues listed are fully present.

35K is more than I'm getting but it's not that much. I thought you'd be getting double that.

But I'm an old man and computers aren't that mysterious anymore, right? Lots of competition out there?

How did they find your web resume?

Java is the obvious choice. Everything is done in it, well, everything normies use.

I failed my python algorithms course in university, is it better to switch out of CS? I wish I had the motivation to actually learn programming and do the assignments, study for exams...

2 years later now, I'm at 47.5K plus I can come late or leave early without advance notice.

I applied to job boards. Nobody finds a web resume, it's just a good exercise to flex your muscles by doing interesting UI.

You are really on about something. C is good. Python is good too. You're acting like learning Python is some death sentence. C is hard. He'd probably be able to learn C faster if learned something higher level first, like Python.

And let me throw this out there too, C# is fucking awful.

>if you don't know why they're there?
They are "there" "because"?
I am curious about what you mean by that.

A Chinese spy manages to steal the last 50MB of the Java program governing U.S. missile launches. Fortunately, it was all closing parentheses.

Being able to come and go.... That sounds awesome. Enjoy

normies ain't gonna use that sort of stuff user

and neither will you

>2 years later now, I'm at 47.5K plus I can come late or leave early without advance notice.
tfw i want a comfy CS job

yet i never put in the effort because i'm not motivated at all

i'm failing CS in uni right now, fuck

You should go to some study groups, might make the process easier.

yeah i've tried study groups, but they seem more retarded than i am

Then you can't be that fucked, right? Just put on some music, grab something to eat, and study. It can't be that bad.

well i've failed my python algorithms course so i have to retake it. the study group was for discrete math, which i got average marks on the assignments, but failed the exams.

i am going to be under academic probation next year because of how poor my GPA is (1.8, 1.3 seriously). I really need better studying skills

what the fuck what is the cost of living like where you are? I don't even work in a 'developer' role, I literally just use programming in my day to day job and 50k would be a pittance here in the DC metro area. Like anything below mid 50s and you're only gonna get desperate interns accepting it.

Academic probation just means you can't take a full course load, right? I wouldn't worry too much about it, if you graduate, you'll make enough money to make up for your failure.

damn dude, you sure do. I transferred to community college after going on academic probation at state school and I know the feel. Just be honest with yourself and either pony up and get to it, or admit you need some other help. I was depressed as fuck and straight up only left my room to eat. Still haven't learned my lesson lol

Academic probation means 1 more year doing bad and i'll get kicked out for real.

i was under academic warning this year which meant i had to get over 2.0 this term to clear the standing, which i failed. i got a psychosis and was hospitalized. I had to withdraw from university, which meant i couldn't raise my grades for the winter term

is CS a field where GPA doesn't really matter? I don't have personal projects though.

did you end up doing any better? I started seeing a psychiatrist lately, and he put me on antipsychotics and an antidepressant.

Why does everyone always fucking sperg out in these threads and /dpt at the mere mention of Python. There is a right tool for every job, and a vast majority of programming related work doesn't necessitate the performance requirements of low level languages like C.

Iktf bros, got suspended from school for snapping and attacking my career criminal, drug addict, roommate who stole from me and kept threatening me. They said I'm suspended until they finish investigating, the semester is almost over and still nothing, I emailed my professors and none of them replied, my GPA was almost a 2.0, now it's probably FUBAR, not even sure how the fuck I'll continue my college career at all at this point

shit that sounds bad.

i guess my case isn't so bad. i'm gonna be required to withdraw for a year because i failed to clear the academic warning standing. either that or i can try to appeal, which i have a pretty genuine reason (being hospitalized).

yet my parents, psychiatrist and therapist insists it's better to just take the year off

It's great that you saw a psychiatrist, but you should also try and see a psychologist if you can. If the psychosis was what got you in trouble, that means you'll probably be fine now.
I remember I had a teacher in high school who got into academic probation when he was in uni, and then he got back, started taking it a bit more seriously, and ended up getting pretty good grades. He was a cool guy, so I'm sure what you're going through can't be too uncommon. Good luck!

Teaching myself C++ and programming from Stroustrup's book.

When will it be mine turn for job?

Also: any certs that help with finding a programming job? Or am I better off just getting an AS in CompSci. (I don't want to invest in a 4 year degree.)

yeah looking back i only studied for a few hours in the whole term, there's no way i would've gotten good grades.

i am also seeing a therapist. im not sure what to expect out of therapy though

I'd take the year off desu. Do you understand the importance of getting this degree? Do you really want it? If not, you may wanna take some time off. I've taken 3 years off, and only then did I finally "get" why it's good to get this degree. If you're only doing this because your parents want you to, it's gonna be more difficult.

>Do you understand the importance of getting this degree? Do you really want it?
yes I do, I want a comfy high paying job out of graduation. i could've went into engineering instead but my high school marks weren't that good.

i just don't want that feel where I start doing bad AGAIN, and attempt suicide like i did. shit that psychosis was not a fun experience at all.

Take the year off man, it'll help you get your head straight and you can also study and catch up on your own pace. After being suspended like this I realize just how important of an opportunist I've ruined

>You literally could not be any more wrong

Avoid these idiots.

being suspended from uni sure isn't fun man. i become anxious when i "collaborate" on assignments with classmates, thinking the TA would catch the smallest mistake and report me for plagiarism

You are a retarded

Like said. Take some time off, and try to see a psychologist. In my experience, there's a difference between therapists and psychologists, and it's huge. One thing that should take some of the worry off might be to read some philosophy, and accept that at the end of the day, whether you succeed or fail, it's not all that important.
Also, with automation in most industries, there's always a potential that something might happen within the next couple of years that could make your life a lot easier.
But yeah, take the year off and just try to relax. Forget about university, forget about money, forget about everything, and just try to figure out ways to stay calm in difficult situations.

is it really better to take the year off? i have until september to be a comfy NEET really. taking a year off sounds way too long, i might get bored, not that i did anything during uni anyway. but again schooling is better to do it at a good pace

i can definitely try to see a psychologist through my university as well. in fact that's what i did before i got hospitalized, but the psychiatrist had like a 2 week wait time.

is GPA that important in the field of CS? I always start worrying about the worst case scenario. in US/Canada, getting a job is all about connections so i start getting worried about having no friends or connections

GPA doesn't matter. As long as you pass and have some knowledge of programming/software development, you'll be fine. In spite of all the memes, programmers are quite sought after compared to most other professional jobs. You're probably not gonna get into one of these top jobs, but who cares. You'll make decent money, and if you try to learn some languages aside from the ones in university, lots of companies will be interested in you, and you'll be able to funnel them to find the one that you want to work for.

coursera is free?

thanks, that's more hopeful. i've gotten 1.x GPAs in my first terms so i feel pretty fugged. i've actually switched my major from chemistry, which had no jobs at all it seemed. making decent money and having a comfy job sounds pretty nice.

Jacksonville Florida so yeah cost of living is pretty low. The job is also very relaxed and my hours are flexible. Also I only have 2 years employed experience so it seems fair to me.

>dpt
What?

...

Ah that's right. I don't come on here often, saw this thread on the Popular Threads section on the homepage and got sucked in.

>2 years
that's pretty long

Never learn C or C++ unless you plan on developing games or writing low level shit.

Also, it takes a lot more time before you'll be able to write anything useful.

I'm in CS, should I take a C++ course?

You can, but you should be taking a C course for a CS degree.

I'm speaking from a non-CS student perspective.

>I'm speaking from a non-CS student perspective.
what do you mean

EDX.org is the best website to learn anything for free.. look it up.

ok for basics,
there's so much shit online you could do, check out edX, coursera, novoEd, any of those websites that uni's put up courses on

Python was the first language I attempted to learn, through codecademy and learn Python the hard way. I'm now a full stack web developer.

Codecademy is a perfect place to start.

The best way to learn Python is with the official tutorial/documentation, as linked in It's very beginner friendly, and does a better job at teaching you than codecademy ever will.

Hey guys, I know some java, php, vb6, VB.net and c#, I've been peeking at machine learning/AI webcourses lately and they all use python for their examples, I was thinking about giving it a try, should I go for it or is there anything better/far more useful
Posting it here because I don't think it's a question that deserves it own thread

Do you think you'll gain any knowledge from it?

OP ignore this guy. Python is a great first language generally and If you want to get your feet wet it's fantastic. If you're like me and you like eye candy, like seeing an actual manifestation of your code and like doing front end stuff then you may get bored with it. I've chosen JavaScript as my language(as well as tools like jQuery HTML and CSS) because I don't like living in the backend world of programming. CodeCademy is ok but I'd suggest Learn Python the Hard Way. It's not interactive but it's effective at teaching you Python.

learning C or C++ is like pulling teeth. I think you're really going to regret that dropping python for either one. Added to that, the resources for learning those languages tend to not be very beginner friendly. I learnt some basic C and C++,and it did - without a doubt - teach me a lot about programming but I strongly recommend starting with something more intuitive and then picking up C or C++ later. You want your first experience to be as painless as possible. It's programming so it will always be painful but C and C++ are among the most painful of options, especially C.

Yup!

most courses on coursera are free (maybe all, not sure) but you can pay extra for a certificate (I don't think I need to say it, but I will anyways: Don't).

There's also edx, they have Harvard's CS50, Intro to Programming. Doing it right now and it's pretty nice. We start off with C, then switch to Python, then we get to a bit of SQL and Javascript. I would definitely recommend it to every beginner, as a compliment to Codecademy or whatever other material you use to learn.

With Codecademy or whatever book (there's tons of good ones for python) you learn to code, and with this CS50 course you learn a bit of the theory behind it, so I think the two really complement each other quite well. Just don't get too hung up on the C homework (memory allocation, pointer fuckery and such), just get the general idea and move on.

>Codecademy is a perfect place to start.

are Python courses for free? do they give certificates?

All of their basic courses are free and they give nothing you'd want to put on a resume

>shouts stuff without explaining or arguments
>uses the world literally where it's not necessary
please go back to your room, user

It's an easy first language to learn. You don't want to be stuck using Python your whole life though.

I just finished How To Think Like A Computer Scientist beginner python book, what now? Any recommendations for a secondary book? Or should i go through another beginner book to cement the fundamentals into my memory?

Do some programming.

What should I program?

Whatever you want to. Something convenient, or some sort of novelty.

It's no good reading books if you never put what you learn into practice.

I learned Python as a first language. It pretty much ruined for 2 years in which I hated programming because all I knew are horrible python one liner habits. I worked as a sysadmin instead and scripted in powershell.
Then I learned Java and it changed my life. I am now a junior deceloper.

Learn a serious, heavy language like Java or c# first to know programming and proper software developement workflows and deaign patterns first. Then languages like Python will be much easier