Hey Sup Forums, what is the recommended first programming language? I'm thinking about learning python. Thoughts?

Hey Sup Forums, what is the recommended first programming language? I'm thinking about learning python. Thoughts?

Other urls found in this thread:

indeed.com/jobtrends/q-c -q-java-q-c#-q-javascript.html
youtube.com/watch?v=YW8jtSOTRAU
try-python.appspot.com/
greenteapress.com/wp/think-python-2e/
twitter.com/NSFWRedditGif

I agree. It lets you explore concepts without getting bogged down in syntax. Good book choice too. I'd also recommend checking out hackerrank.com's python series

Obviously Python. In fact, that's probably the first and last language worth learning. I regularly program shell scripts, C, C++, Java, JS, and smali. There's only one language worth learning and convenient for day to day tasks (and can scale up to large programs too). Python.

Furthermore, fuck any other language. I made an MMORPG in Java and I do kernel programming in C. Python is a good language, the developers are autists though (read: don't go to Freenode and ask for help).

Do most languages go hand in hand? Or are they completely different from each other?

Everywhere I read, it keeps saying o learn python 2? Is this good advice?

If you know one, you'll know them all. It's like the other guy said, Python helps you learn the concepts. Syntax varies a little but it's easy to skip between languages once you understand the concepts.

Yeah Python 3 was pretty much rejected by the community because it introduced many breaking changes. However, it is superior in many respects (like Unicode). It's your choice, if I was just getting into the language like you I'd learn Python 3. I'm stuck in my ways, I use Python 2.7. A lot of code, millions of lines, is compatible with 2 but not with 3.. (think Stack Overflow answers)

Oh and don't buy into the Perl meme, there's no Perl vs Python. Nobody uses Perl, it's a shit language. In fact, IMO the only real and large competitor to Python is Ruby. However, Python has the benefit of being preinstalled on a lot of systems. And don't let anyone tell you shit about performance, you can make Python almost as fast as C without having to compile for multiple architectures.

can anybody suggest a checklist of projects or checkpoints which one should complete to get a good handle on python?

Python, then C if you want to understand fundamentals, then C# or Java for employability, then whatever relative oddball stuff interests you (e.g. functional).

Zed Shaw is a mega-douche, btw.

How is he a douche? His book has taught me a lot so far.

Think of a protocol or idea you'd like to try to make in Python. Like IRC, or an RSS scraper, etc. etc. All good ways to start learning, the best is hands on, especially with a working code sample.

This guy has it right. Python -> C, great choice. I have no earthly idea why people start with C++.

So can you get a job once you know how to program and stuff.

tfw I tried to learn Python and C and used some tutorials and shit and they just end. I try to find something I want to make but everything just goes over my head and I don't even know where I would begin to actually make something useful. I keep getting demotivated because I don't know what I don't know and can't tell what I would need to know to make things I would want to try to make.

That book is garbage. lol just copy this and run it, isn't that hard ;)

Read a better book like think python. It actually has interesting exercises.

this

>How is he a douche?

He's a smug asshole who shit-talks great people.

Go read his retarded screed against the K&R C book. Fucking retard acted like it was a book on software engineering and resiliency. Straight-up strawman.

>I have no earthly idea why people start with C++

I went to college when C++ was in fashion. I already learned Pascal and C++ in high school. I watched as classmates were utterly confused by the 'magic' in C++. Horrible starter language.

>So can you get a job once you know how to program and stuff.

Are you saying C++ to get a job?

indeed.com/jobtrends/q-c -q-java-q-c#-q-javascript.html

JavaScript and Java are the languages to learn to find a job. C++ will find you a job that pays slightly more than Java, but is probably significantly more difficult (not algorithmic, fun difficult, more like autistic manchild tantrum difficult).

I'll keep this in mind. So you have to get a bachelor's to get a decent job?

With Python? Of course, that was one of the requirements for a job I have now, must use Python.

I was there too. You just need to start off with something and keep adding features onto working code to get the idea. Asking questions is what you need to do. Also there are a few Try Python sites which teach you in literally 15 minutes. I've taught someone in 10 min, they were amazed how easy programming was.

>. So you have to get a bachelor's to get a decent job?

I don't even know anymore. Tech interviewing has become such a retarded shitshow anymore, I can't tell you what to do.

You can be a brilliant engineer with a decade of impressive experience, but they won't ask you a damn thing about it. But an utter noob can sit down with Cracking the Coding Interview and pass with flying colors.

I can say that I've worked with a few good engineers who had no degree. But I can also say that the best engineers I've worked with had degrees from real engineering fields, or from linguistics.

What does the average engineer make anyway? I feel like the Google results I've found aren't exactly accurate.

Between $40k and $70k depending on what kind of engineer you are and where you live.

Varies *wildly* by region. Within that region it varies *wildly* by what company you're working for, what school you went to, etc.

Want to make top money? Go to a top school, go to work for Google. Put in five years busting your ass and either move up the ladder or move on to the startup lottery.

An awful lot of Google-type hiring boils down to prestige. And an awful lot of hiring by other companies boils down to prestige in a different way: if you have Google on your resume, you're moved to the top of the stack immediately.

Anyway, a very good engineer with a few years experience at Google in the SF Bay Area probably makes around $170 - $220k per year, including bonuses and whatnot. That's really high.

A good senior engineer at smaller companies in the SF Bay Area probably makes in the $90k - $150k range now. And that $90k is low, that would have to be an easy field at a company you love working for.

Outside the Bay Area, in the USA, I have no idea, but I'd guess that $70k is a pretty typical senior salary these days. But again, it varies TREMENDOUSLY on region, and not just due to cost of living. For example, the other day I looked at jobs in NYC and was surprised to find a senior Java job in Manhattan paying only $90k. Fuckin' A, I cleared $90k when I moved to the Bay Area in 2002, at the bottom of the Dot-Bomb crash..

Js is the best to start. You'll learn how to use braces and semicolons without the forced indenting of python and the limited arrays of c++ and java. Then you can use java to learn OOP and then c++ for pointers and classes.

absolutely don't bother now for Python 3, it's like what happened to java 7 to java 8.

Thanks for this. Good information.

What language is the best platform to develop software on?

>fast execution
>stability = processes don't commit sudoku for random reasons like malloc errors
>concurrency = no retarded shit like interpreter locks and node.js hell
>good shared library system with package manager

Is Python it?

>Go read his retarded screed against the K&R C book.

Regardless of K&R, he does have a point when he talks about C strings. They are stupid.

How long would that take

>python

might aswell kill yourself

learn python until you know it well and then move on to something more complex

haahahaahaha omg LULZ so f**king epic

Why do you dislike Perl? Do you think it's only for hippies because it's not widely used anymore? It's just as good of a language as it was years ago when it was the de facto language for backend web stuff. I agree it's not a good starting plave but desu neither is Python.

I'd recommend learning C# or C as a first language.
C# is a pleasure to code in and teaches you good OOP concepts. It's also a good choice if you're interested in game development. Unity is a solid C# game engine with a large and helpful community.
C teaches you to really understand at a low level how programs work. After C, you won't have too much trouble with C++, and that opens up a whole world of opportunities. I firmly believe that someone who knows C++ can learn about any other language with ease. Oh, and for goodness sake please learn C/C++ on a Linux VM or old computer loaded with your favorite distro.

Python is worth learning at some point for small projects (especially Raspberry Pi projects). But it won't prepare you to learn other languages as well as the two above. Even Java isn't a terrible choice for learning, as bad of a language as it is.

C# is a god-tier language, but how good is C# for cross-platform, free software development?

This is why I write for the JVM currently.

It has been said ITT, but I have to say it again since I've read a good portion of the book.
It's complete and utter dogshit. It's one of the worst introduction books I've ever read.

Haskell. Easy to learn, super practical.

C# isn't currently the best for cross platform, though Mono works very well for running C# on Linux. I suspect we'll see more support for it soon, since .NET was "open-sourced" (I think?)

I feel like going with C at first will get you dirty enough to move easily to other language. Python is great in that it just works and is great for prototyping, but its syntax and quirks might throw you off if you pick another language. Still, by all means go for it.

What do I need to get started writing Haskell right now? I heard the compiler is like Xboxhueg

Whats the easiest way to build UIs on Python?

Any RAD? Visual Basic IDE for sure was fucking amazing when it comes to build UIs...

>literally 15 minutes
This can't be real, what exactly do you learn there? What can you do? Link?

>I've taught someone in 10 min, they were amazed how easy programming was.

...lol

tkinter is built into python3 and is crossplatform
don't use an ide, it's a crutch

Best way to learn Python? Preferably online.

Python Programming by Zelle. Grab it off your favorite pirating site and buy it if you want to later.

C# is the easiest. The sql database management is really easy too it is like using Access 2016.

Also Python is great.

I advice starting with an OOP language. If you understand how we it works then you won't have a problem with anything else.


I also advice checking out Derek Banas OOP design series. He is a great teacher.

Typing on a phone is the hardest

Infrastructure tech security guy here in his forties - my two cents because since owning a ZX81 and fucking around in Basic I had no programming experience until about two years ago....

I went Node.js and am pretty happy with it.

It went like this...

>Fuck, I'm an IT consultant who can't code - I am one of the things wrong with the universe.

>Decide to learn Ruby. Spend about six months going through tutorials and stuff (chose it because Metasploit btw.)

>While learning it slowly realise it's mainly back end for web stuff, and I will be getting nowhere without HTML, CSS, and Javascript, so start to chew through them too...

>Javascript leads me to jQuery. jQuery changes everything, it blows me away.

>See a Defcon tech demo of Mass scan - Nmap tool that is so fast it can scan the Internet in under an hour.... It's written in Node.js

>DougCrockford.jpg

>Spent the last few months trying to code web scrapers using Node.js and Cheerio

>MFW I got one finally working last weekend.

>MFW it's been working for five days, chewing off news websites and analysing comments sections

I'm in love with Node.js

I considered Python, but besides all the malware goodness I couldn't quite see how it would help my career .

What up /g ? Am I a retard, or have I made a good choice? How many types of retard am I?

I thought about Python but went Node.js.

It seemed to me that Python isn't really used in the Enterprise - and my job is security / reviewing other peoples fine work and I couldn't see it being widely used by Fortune 500's etc.

Am I right?

I'm the pleb who posted about Node above?

I mean I'd like to learn Python, because hackers, but it seems the latest version is kind of a fuck up with little support?

C# is the default language in Unity Engine now too so if that's what you plan on learning programming for, it might be a smart choice.

No. Python is quite widely used with in-house developed web frameworks.

>No. Python is quite widely used with in-house developed web frameworks.

And what even are these?

For me, I want to get work consulting on the security of web applications - as about half of company malware infections now use this vector.

I can't see Python helping with that? Where Node.js and knowing JS in depth seemed pretty vital.

Are my choices wise /g?

nah man its just a popular scripting language like bash, if you find yourself interacting with your file system / needing to automate something relatively simple then you shouldn't resort to compiling an artifact for it

build scripts and shit can be done in python and people try to push it to its limits to make small webservers with it, which depending on scale can be relative useful (small internal APIs for your company, etc)

its worth learning imho

>Derek Banas
>Good teacher

welcome to Sup Forums newfriend, how was your first day?

python is more than that, it's a fully fledged programming language. Since it's very flexible you can use it for scripts, or to run a large website.

BASIC

youtube.com/watch?v=YW8jtSOTRAU

All you need is Bucky!

>nah man its just a popular scripting language like bash

Thanks, that was the impression I got. I have a Wifi Pineapple and have script kiddied with Python on that. It is breddy good.

For anyone who hasn't read it Violent Python is a good book - scary.

i'd say acknowledge when other languages are more suitable, i love python and using flask for small api services is great but getting around the limitations of speed and (as much as i hate to hate it) "scalability" and some miscellaneous issues versus other languages is just an uneccessary uphill battle; it's not like learning another language to do something disbenefits you in any way, all it actually does is make you more versatile and open minded to change

>Since it's very flexible you can use it for scripts, or to run a large website.

Yeah, but does the enterprise use it for web sites? I have an interview tomorrow and Node.js definitely interests them - their web site is fucking gasping for breath and they are moving across to it. Feels good, man.

>it's not like learning another language to do something disbenefits you in any way, all it actually does is make you more versatile and open minded to change

KK, I'm barely able at this stage with Node and have limited brain capacity, but I dig what you're saying. I do want to get to grips with Python too because it has a rep as the black hats choice?

My cousin is leaving school and wants to become a penetration tester and he is Python through and through, and you can tell he is absolutely thrilled with it.

For me and my purposes, there is a whole world to explore just with Node, Express and Cheerio. My passion is web scraping, parsing the sick, sick public through the Web, so I guess it's function first.

please shut up

>please shut up

Jus tryn to have a conversation, faggot. Crawl back under your bullshit quilt and suck your thumb til it's all over?

>I mean I'd like to learn Python, because hackers

Jesus it really is summer

If you worry about hackers learn Rust or Go.

Shit book. Just use codecademy to learn a programming language and read an algorithms books for programming in general

He IS good fellow citizen.

Scheme.

>Jesus it really is summer

Holy crap it really is autism.
I want to learn it because it is widely used by hackers and threat management requires that I have a decent understanding of their capabilities. Not because I think it's Gandalf, you prik.

>If you worry about hackers learn Rust or Go.

Thanks, what I meant was I would like to know it as my job requires a good understanding of malware.

But thanks for the heads up - had literally not heard of either.

Call this number 1800018586 and you will hear indian hackers putting a foreign accent pretending to be Microsoft customer care support. Say you have a virus 'zeus' in your browser and my computer tells me to call this number. They will try to rip you off, happened with me. Its a scam but you might have fun playing around with them. Also, i dare anyone of you to hack into their systems.

Malbolge

what the fuck are you doing?

...

No to all four

t. professional Python programmer for 10 years

>I do want to get to grips with Python too because it has a rep as the black hats choice?
>My passion is web scraping

I hate this board so goddamn much

When you say almost as fast as C, you are making it sound like Python competes with compiler languages (or for that matter, interpreters that use JIT). Don't mislead this young programmer into falsehood and make it seem like python is competitive in terms of speed-efficiency

codewars.com
Try to complete the challenges, then look at how other people finish them. You'll learn a shit load from it.

This is the book we used in my intro to programming class, it's pretty in depth and handles concepts well. Learning depends on how much you practice however, I'd recommend projecteuler.com once you get the basics down

Yeah I agree with C#, but with C you'll end up getting low level errors you probably can't solve unless you're in touch with memory. As java being my first language, I would avoid it as a first language. It's so oop that moving to other languages really got my head spinning. Othr than that I totally agree with this post.

>OOP
But desu OOP is a meme and dead

no he's right shut up

Thanks everyone for the good information.

Wicked cool shell scripts is probably a good choice as well

try-python.appspot.com/

top kek, Node
> npm install leftpad

This

The "learn the hard way" series is awful.

Patronising garbage learning you to copy-paste like a pro and how you SHOULD do stuff the way they tell you. Original solutions are not welcome, you SHOULD use the editor, the OS, the indenting style the author tells you, anything else WILL NOT be tolerated, you must be an obedient monkey.

Read "think in python", it's newbie friendly too but it's not patronizing, it doesn't force you to use a specific editor or OS, it treats you like an intelligent person, it doesn't try to present the authors opinions as INDISPUTABLE FACTS and make you feel like an AWFUL PERSON if you disagree as the "learn the hard way" author does. As a bonus the examples and the exercises are really interesting and creative.

It's obvious from the title really. "Think in Python" teaches you to think as a programmer and come with your own solution. "Learn the Hard Way" lectures you to follow blindly some patterns and learn a syntax so you can code like a good monkey.

Is the the book you are referring to?
greenteapress.com/wp/think-python-2e/

so this thread made me finally decide to give this whole programming thing a try and i no idea what im doing, where should i go to figure out what im doing?

>Python 2.7 vs 3
I'm late to the party, and it seems you (OP) have already gone with 3.5, but here's my two cents:

I would personally not take the advice of the comments suggesting to learn 2.7 just based on 3 making older code incompatible. It's true that a lot of Python libraries were written for 2.7 and are now incompatible with 3. But given Python 3.0 was released in 2008 and has been around for this long, it's safe to say that the Python devs won't suddenly scrap it and revert to exclusively 2.7, and that learning Python 3 is a good investment.

Also, widespread refusal to use the latest version sometimes just enables developers of 2.7 libraries to put off updating to 3, which in turn can discourage use of 3. This is not an uncommon trend in the development of technology.

Power: Haskell > OCaml >>> all.
Easy: OCaml > Haskell >>> all.

PHP using Appserv or EasyPHP. You can pick it up very fast and you can do lots of things with it. Afterwards or concurrently, you can learn HTML, Javascript, CSS. With these you can make very powerful Web apps that can run on any platform.

Underrated

>try help()

>help

>not help()

First start by learning to read properly

If you're learning, 2.7.there's many more resources and answers out there. This guy must've missed the learning 1st language part

I hated jvm for a long time, but recently I've had to run some stuff from windows and Linux at different times. I was shocked that it just ran, no problems. I think I love java now.

I'm already very familiar with programming, what's the best online course/website to learn Python 3 from?