What is the best /first/ programming language and why is it Python?

How can other languages even compete?

Other urls found in this thread:

wiki.installgentoo.com/index.php/Programming_languages
automatetheboringstuff.com/
pastebin.com/d50NY57w
twitter.com/SFWRedditImages

Shut up, dumbass

>triggered Java-jeet
Hello Bengali friendo.

>not learning to program with C
It's like you want to be a skriddo4lyfe.

PyCharm is maximum comfy.

Pycharm is probaly the best python text editor. I fucking love it

Surely HTML is the easiest language and the first to learn.

what a fun way to spell java

Nigga, there is BASIC or Pascal for learning purposes.
Taking OOP principles early may make you led the wrong path.
Also, goddamn indentation for inside blocks. It's ridiculous, it doesn't give you a clue about operator brackets.

It is good, just don't forget to complement it with a powerful low level lang like C so that your shit is actually worth using and not slow as molasses. Cython is god-tier. Python alone is for Pajeets who couldn't grok Java.

Ada
>strong and flexible type system
>compiler that catches a ton of errors a beginner would make
>compiler that will force you to do things the right way
>separation of functions and procedures
>in/out parameters makes more sense than dealing with pass by value/reference intricacies and pointers

I still reccomend people to start with VB. Python is becoming a fad because muh libraries but newbies aren't going to use them so who cares?

HaHaHaHaHa I Dont Even Know Why You Guys ConTinue To Paste From That Old VerSion Of Hera That I Made Back In The Golden Days Of SubAtomic Gaming It Was ReLeased BeFore I Took My Two Year CalcuLus So While Still DeVestating It Wasnt The Well ReNowned VerSion That Was Sold For Fourty United States Dollars Via PayPal And LiTerally Changed The Coding Scene As We Know It So Ya Just Give It Up You Will Never Beat My New Cheat Snixzz AvaiLable Now For The Low Low Price Of Fourty United States Dollars Via PayPal

Python is actually awful for learning. It's a very strong scripting language in general but to have that be your first example of code is tragic. I agree with the above suggestions and would also mention Scheme. Don't get sucked into Python first unless your college curriculum demands it, which is another tragedy unto itself.

>Full bloat Java ide for a scripting language

No.
I chose python for my first language. I regret it.
I've been using it as a crunch and since I can do basically anything pretty easily with python. I've put off learning lower level stuff and C/C++. I really should have started with one of those first.

Ya No Need To Try And Flatter Me Bitch Your Not Getting Access UnLess You Pay Up The Big Bucks Im Not Giving This Away For Free So Stop Trying To Butter Me Up

Isn't Python a fake language for retards that will teach you wrong programming knowledge that you will have to unlearn?

That's your fault for not moving on down. Starting with Python is great because you can easily build things that do something and that keeps you feeling motivated and successful.

Once you're done building a webcrawler though its probably time to move on and pick up a real language like C, C++, or Rust.

Yep, that's the one.

Literally no one in this goddamn thread has any clue what they're talking about.

Mass technology was a mistake.

Please enlighten me. I'm just here looking for help getting started with programming.

wiki.installgentoo.com/index.php/Programming_languages

> I have a ssd plus an i7 so i dont really care if it uses alot of system resources

>he doesn't like being comfy
I pity you.

I really hate these threads. Every newbie here is going to lose their fucking mind trying to figure out what the fuck is going on thinking this is advice worth heeding.

Only decent fucking post ITT.

Start with Haskell if you want to actually program for a living.

I think Python can be useful to some people for prototyping something but as a first language it really doesn't help you understand how computers really work.

I think C is the best language to learn since it's a high level language and not tedious to use like writing assembly is, but it's still low level enough for core programming concepts to shine through.
When programming in C you automatically learn how computers actually work under the hood and once concepts like memory, pointers, the stack and the heap click in your head you come to the realization that every program really just boils down to data stored in memory and functions that operate on that data.

C is such a small, simple and transparent language that once you learn it, you will have a solid understanding of the basics on which you can build further by learning higher level concepts like OOP, inheritance and all those other meme-language paradigms. It's also popular enough that most other languages are at least partially based on C so you can easily learn them in a small timeframe.

Same here, I use clion as my ide since c++ projects warrant an ide once they get large enough. You shouldn't be writing anything in Python that warrants an ide.
>Also that's not how you use greentext.

>You shouldn't be writing anything in Python that warrants an ide.
But I get paid to write things that warrant a Python IDE...

Realistically, Java is the best option. It's low level and difficult enough and forces you to learn OOP right away. And it's the most popular language in terms of employment. You can learn your Python script languages and weirdo C++ shit later, if you have to.

This. If you're going to get hung up on your first language, Java might as well be it. Slap together a shitty android app, publish it, and then go get a job where you'll learn what useful developers do at work. Branch out to other languages as necessary. Python is really a joke. I hear people wailing all the time how in demand it is but I have never actually seen someone get paid to work with Python and nothing else. It's 100% paired with other languages so being a "python expert," isn't going to do shit for your income.

I literally do get paid to work with python and not much else. We write extensive scripts for finance and big data clients. I'm not going to claim it is the most in demand skill but I did actually get hired without knowing anything else.

>Java
>low-level
Even C isn't low-level, how is Java going to be low-level?

> Even C isn't low-level
Maybe in an austistic parallel universe where nothing gets done in finite amount of time.

IT DEPENDS.

1) You want general intro to algorithmic thinking and programming, but don't intend to develop a career as a programmer? Or are you a scientist who wants to know programming as an extra tool?

Python

2) Do you want to be a professional programmer and make programming a career?

Java

3) Do you want to understand how computers work and work with hardware?

C

4) Do you hate yourself or are you a masochist?

C++

Low-level languages deal with the hardware directly. High-level languages have some abstractions built upon the hardware. You don't have variables, data types and functions in the high level language.

>4) Do you hate yourself or are you a masochist?
>C++
hehehe, so true

I asked 2 people who are in programming for 20+ years, both told me that Java is a good first choice, and that Python is a meme, useful for certain tasks but not a good first choice for someone who wants to be a programmer.

Also, both admitted Java is FAR from perfect, but they still recommend it as a first language that can be a gateway to anything ... if you know Java, you can transition easily to other things later if you need to, like C#

>numpy
>scipy
on suicide watch

I'm going to copy and pasta some shit from learn python the hardway to indicate why some people actually profit from the python meme.

>People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines.

In my experience as someone who isn't a programmer...

Walk into the business, any non-cs science, or humanity dept of a college and tell them you can code and passed their intro classes. Instant research position and free college.

seriously, matlab will kill you?

missed the python part...

python enables you to write web scrapers, automate simple tasks and just abuse the shit out of science libraries like nltk, and scipy in under a week. There good are jobs attached to that.

python is the non "programmer" language. Get to useful shit quick provided your end goal isn't to create software.

What's a good Python online course or series of videos?

I'd really like to learn to program in Python...

>People who can code in biology, medicine, government, sociology, physics, history, and mathematics

Knowing how to code ... But knowing Python is not enough in 2016. You will have plenty of people who know efficient languages in those fields. Especially in physics but also in mathematics and increasingly in biology.

Why no learn all of them at the same time? All the major ones in use today and some ancient ones, and also assembly.

>online course or series of videos
Don't be a fucking lazy retard. The right way is to learn from a good book and learn to pay attention to details, otherwise it's a waste of time and you'll have giant, unforgivable holes in your knowledge.

so how do u recommend I learn it? I can't afford school right now.

I guess you can start with the official tutorial and later start consulting specific library manuals. Or do some research and download a book that's right for you.
Try to grasp the general structure of a program quickly, it'll be easier from there.

I wouldn't recommend wasting time on videos of general topics. There's google and stackoverflow if you're stuck.

do LPTHW (first or its useless) edx's MIT course on python, and think with python. skim automate the boring stuff with python at some point and steal ideas to make stuff.

Maybe the one exception with videos is if you find lectures from a good university that simultaneously teach other programming related topics that are useful and not just the language. But that's not very likely with Python.

automatetheboringstuff.com/
is a pretty good read

Thanks for this link man.

Thank you user you have motivated me to learn C.

>postulating an initial open ended question then changing the question to one that seeks validation for your own opinionated answer to the initial question disregarding that the initial question is open ended and has no definitive correct answer

Python shouldn't be used as a first programming language, too many unconventional features that might give bad habits.
>duck typing
>no braces/block statements
>weak classes
>weak information hiding
It's a good side-language though, since it lets you explore FP concepts like lambdas and list comprehensions without gettig scared by Haskell's syntax.

How to create a list with 20 numbers, from 1 to 20?

because C is actually the best first language

[i for i in range(1,21)]

This has always struck me as a dumb meme. What are "conventional" features? You realise strong typing is fairly rare, which is why there's so much demand for it in the first place?

...

This thread is largely a shitfest, but has a few gems so I'll weigh in. Background: I've got BSME and I left engineering to do software development after being laid off from my niche industry.

>Prelude
It is perfectly feasible to learn about them independently of language. These are you mathematics, logic, algorithms, data structures, etc. You should familiarize yourself with these to the extent that you will need them going forward. If you "suck at math," start doing Khan Academy math classes at least through Calc until you feel comfortable with it. Learning to think mathematically alone is worth the time even if you never do the kind of programming that calls for Calc, Linear, and so forth.

>First Language
Once you have your principles and foundations your first language as well as your second and third should be chosen with your end goals in mind. Do your homework, figure out where you want to be and what is going on there. Don't pick up Lisp, C, and Haskell if you want to be a web developer. Don't pick up Javascript and Ruby if you want to work on embedded systems. And if you don't know where you want to be or can't decide, don't pick up an obscure language because a memelord on Cred Forums said it was the future.

>Ok but I don't know anything what do I do
Soul searching IMHO. It is ALWAYS easier to trade up when you have direction than it is to find a direction when you're been listless. But if you absolutely don't know where you want to go I suggest starting with C then picking up Java and then Python. Java will give you the broadest base for employment but it needs to be grounded in lower level competency or you will become a stereotype shit-tier Java dev. Don't sprint through either to Python. I list it third because you should be comfortable and productive with the other two first, Python is there to facilitate things that you find annoying with C and Java which can be easily scripted.

>IDE or Text Editor
Use the best tool for the job, but know vim.

>one line lambdas
JUST

Java is basic for learn and by far the MOST widely used and useful.
I started there and expanded latter into C

Appreciated

Javascript is best language.

>Well meme'd friend

What other language can you write the server side code, the database code, and the clientside code all without needing a single library? Literal end-to-end solution where you can focus on learning one thing and getting a full end-to-end application, rather than learning 9 different parts to get hello world going.

>tfw I learned Java first
>learning Python and C++ in college classes
>all these shitheads struggling with their first language
>breeze through all assignments and tests

how does it feel to not have Java as a first language?

>ADA
>hi i'm 40 what is this 4chen

shove it pops

So NodeJS + Hipster.js (obsolete in 6 months) and some meme.db plus a load of hot garbage is a "end-to-end solution where you can focus on learning one thing" "all without needing a single library?"

What about Swift to actually make usable programs?

all javascript. Beginners are more likely to stick with something if they see real results. Fizzbuzz doesnt cut it for most people learning.

i'm not him but everybody is gonna be 40 one day, little shit

looking back you'll feel the same and like your teens and twenties were yesterday, getting old sucks

1..21

I had C++ first, then java.
I miss pointers.
Then again, I never explored C++ beyond POJO equivalents.

As someone who started programming just over a year ago, I think isn't wholly wrong. It was really exciting to have my own web server in just an afternoon's study.

There is something to be said for JS in the context that it's now bridging so many gaps that a young JS aficionado can really cover ground fast and get noticed. That said, I absolutely cannot see Node cleaning up enough to be an enterprise solution that competes with Java, among others. Crossing language boundaries has a cost associated with it, but as of today that cost of doing business is far lower than trying to shoe-horn with JS unless you are a really shoestring budget operation.

I actually consulted last week for a company with about three dozen employees who had front to back JS and helped formalize their transition to Java which is going to save them a huge amount of time, money, and headache in the next fiscal year once they're deployed.

This. Goal setting and the effect of tangible success on persistence, particularly with self-study is often overlooked.

>starting with an interpreted language ever

tbqh I'm really happy I had Java first. Even now knowing what I know, it was a complicated language with several faults.

But it helped me do better than the kids who treat uni like HS and don't do homework.

This
It's a good idea to just delve into the shit of it so you gain a good understanding of it and how all of the languages work fundamentally.

That way you're able to pick up a language without too many issues.

Java has it's own warts. It's type system is so cumbersome and restrictive. It shoehorns OOP everywhere. It doesn't encourage any good practices and thus requires user's to learn "Design Patterns" to avoid many of the pitfalls that come with bad Imperative/OO code.

The only reason Java is used is because there's a lot of example code for everything and there's good tooling for it.

IMO Go would have been a better choice for them. It's simple with an unrestrictive type system, fast enough and shit stupid easy to deploy. It also doesn't force any paradigms on you.

My two cents on the javascript thing is that you can alleviate a good amount of the issues moving to typescript and converting your APIs to use async....await instead of callbacks. But can recognize that there is a cost to learning how promises work and how to convert between APIs.

> SyntaxError: invalid syntax

>Java has it's own warts.
It definitely does. I would not defend Java as the ultimate at what it does, but circumstantially it is usually the go-to solution for enterprise.

>IMO Go would have been a better choice for them.
We looked at Go as well. Definitely not something we ignore. Go has major potential, but right now I only draft Go recommendations with a lot of caveats. It's major major drawback right now is a really shallow talent pool. Finding 10 guys with Java experience is much easier than finding 1 with Go experience. In an industry where salary is one of the biggest overhead costs, that's a problem.

>My two cents on the javascript thing is that you can alleviate a good amount of the issues moving to typescript and converting your APIs to use async....await instead of callbacks.
I'm going to have to jot that down for thinking later. I see where you're going but that's not a direction common to what we do. Interesting though. I appreciate your comments.

That, among other things ITT, is a meme. In-fact a good 80% of this thread is just exaggerated memes about how it's crucial to do X before doing Y.

Realistically, everyone my age started with Cobol, C, or some similarly vintage brew of pure unadorned shit. A lot of older programmers are convinced by that to pressure young people into doing it that way too. I don't discount the collective wisdom of my age but having taught CS now for a good number of years the belief that first languages can bring about irreparable damage to one's long-term performance just looks like daft superstition.

My students today start with Python and most of them have some Python or JS experience prior to enrollment because those are apt languages for rookies who want to make a widget that works without first sitting down to read an almanac-sized book on widget engineering.

The thing is, what a lot of people are saying here actually applies depending on what you want to do with your programming skills. The main track on which most of us operate is the enterprise level developer working in a big firm where OO, particularly Java is incredibly dominant. So having built up habits that run counter to that early on don't help. You also have to keep in mind that, depending on what or where you teach, you are getting a great sampling bias. Maybe you teach at a top-tier school where the students easily overcome habits. I think the average programmer performs well with a couple of languages this idea that all good programmers are comfortable jetting between a plethora of languages and their associated libraries is bunk. You find a groove that you fit in and you get comfortable there and at some point you find a reason to get out and explore another one.

>the belief that first languages can bring about irreparable damage to one's long-term performance just looks like daft superstition.

I want the meme to die. Whatever you start with will affect your thinking process, sure, but it will never do that to a detriment.
No matter what, even if it's something easy like Python, it's some experience. Some languages objectively give more experience than others but never detrimentally.

Haskell or GTFO

>You want general intro to algorithmic thinking and programming, but don't intend to develop a career as a programmer?
Fuck this meme. I'm a Python dev. So what if I write elaborate "scripts," all day? How's this any different than the devs who work with JS or Ruby or Java backends?

I know OP is memeing and this was intended to be a shit-thread from the start, but I will defend to the death people who both start with and make a career out of Python. It isn't a meme language relegated to the dregs of developers. There aren't even many immigrants working in my office, maybe 5% at most.

Guys, let us be serious here. Python is shit because of the community breaking from 2 to 3.

Also, the fact that the community didn't manage to survive after that happened, shows a lack of maturity from the people that do stuff in python.

So clearly, that has something to do with python being a shit language.

Enjoy your brain cancer from a dead language. Python at least lands you a job...

Python is okay for simple shit and easy scripts.
It's also a good introductory language that eases normies into the field. Stop getting into a pissing contest with everyone.
The new people are learning and that's what's important.

>not learning scheme from scip

You will never be a real l33t h4c3r

Yep, python 3 was a catastrophic mistake which traded efficiency for unicode. The community broke down along the lines of the professionals who wanted 2 to remain relevant because it worked and the academics and social justice cunts who demanded 3 become the law of the land because muh discrimination.

Python is living on borrowed time. It isn't going to drop dead this decade but I would not be at all surprised to see it crater shortly afterward. Python 3 is absolutely god awful and nobody who makes money with software wants to touch it with a ten foot pole. Much like Mozilla, Python folks are going to find out in the long run what it means to choose ideology over getting the job done well.

I know pascal/delphi. Is delphi still a thing?
I was pretty good at it 10 years ago but ended up not working with programming.

I'm impressed at how neat this wiki is.

It's a bit out of date but a good resource none the less. Most contributors are a little biased in favor of C, C++, and Java but that's to be expected from veteran industry programmers.

not that simply when I want to code some web scrapper target some non-latin websites.

python is shit for many common tasks.

>non-latin websites
So go write your own language Chang. Quit parasiting off the west. We're busy killing ourselves so you will need it in the long-run anyway.

The best first language is C and you should use a text editor like emacs. This is one of the memes that is actually true. Feel free to pick up an IDE and Java, Python, or whatever afterwards.

>C
>Emacs
Master race checking in.

>the academics and social justice cunts who demanded 3 become the law of the land because muh discrimination

What in the blue hell are you talking about?

Python 3's problem is not that it is unicode-by-default, it's that it crammed unicode strings into many API's where it was inappropriate or flat out wrong. Python 3's relative slowness was a death of a thousand cuts, and modern versions of Python 3 have much improved performance. 3.3 at least compares favorably with 2.7, some benchmarks are faster, some are slower, but they average out.

And what that has to do with SJW's I'll never understand.

>What is the best /first/ programming language
Fortran.

Pajeet learn to print "Pajeet Poo in Loo" ?. Awww.

Now learn to shit on something that doesn't have cars or bikes using it.

I honestly have no clue what a decent starting language would be these days.

When I was growing up we had QBASIC and LOGO and although it had its fair share of problems with a few simple commands you could do some really neat stuff because the underlying hardware was simple and support was built-in. There's nothing like that today.

For kids, I would recommend Scratch without hesitation. But from one adult to another...I dun fucking know man.

I was just thinking the same thing. In the modern world of intense complexity, abstraction, and hardware variation there is nothing like what BASIC used to be anymore and that was a nearly universal starting point for those of us who weren't academics.

now now ramesh don't make fun of pajeet

>complexity, abstraction...
Not really big problems unless you are trying to get into heavily optimized computing. My son is 19 and he got started with ObjC and now knows enough Swift to build a decent iOS application to the point where he may not finish school. He has already had half a dozen very good job offers pending the end of the semester.

He may well never get the breadth and depth of experience I have as a 20+ year veteran working in everything from Fortran to Go but chances are pretty good he's going to have a salary very similar or better than mine in the near future so long as he stays on the ball.

Would you say using whitespace as block delimiters is something conventional? Or the fact that methods and attributes can be dynamically added at runtime because classes are just fancy dicts?
Keep in mind I'm not trying to diss Python, in fact I love it, I'm just saying that it's wrong to teach/learn Python as a first language because it's not the best tool to teach/learn programming concepts. As I said, Python is good as a launchpad for functional programming, since it offers an easier syntax than the abomination which is lambdas for Java.

I should have gone into plumbing like my old man.

>using a japanese owned website
>parasiting the west

dude, ever get your brain checked?

also, ruby is japanese too, and it handles charsets perfectly.

Ruby is garbage though.

it isn't a language

>Ada

java is horrible -- 1. you need an IDE to do anything with it

2. the amount of typing & boilerplate being used

python without an IDE for beginners. where t hey can learn instrospection and debugging

IDEs get in the way .. they do not provide anything at all to beginngers. What beginners need is an understanding of the interactive shell / introspection, then the use of the debugger (pdb).

typing in that you have all these path-names
java is all about it's own environment

python is not "simple" - it's a far better design than java

but it is.

A markup language. It's not a programming language.

I get that, but you said it's "not a language". that's all im getting at.

>you said it's "not a language".
I said no such thing, that was someone else. I was just clarifying that HTML is most definitely not a programming language.

like you, right?

pastebin.com/d50NY57w

far better design

why is it the #1 choice of language in academia now?

because it is from that arena - what it was designed with .. because it is integral to the serious platform (linux) .. because it has the libraries. Really decent stuff like (for instance) the graphing. It's more similar to prolog/lisp than java. It's more ACCESSIBLE. We still are in this era where people think "difficult", is smart. Python is the most fluid, rapid prototyping environment there is. Fluid in that you can write fluidly in it. It is INTUITIVE (used correctly, following the zen).

>Rails is garbage though.

Fixed that for you.

Masochist here... please explain me why i'm a masochist and why i hate myself...

install gentoo

it is a markup language like latex not programming language

Good suggestion but doesn't explain why I'm a masochist and why I hate myself...

if you say HTML is a programming language
typesetting is a programming language
everything in HTML Is cascade, it's not "programming" - there isn't any logic (no 'if/then'). It's layout/formatting. Argument over.

Python is really Zen. I work with other languages for a living, mostly C++, but Python is the language I go to when I want to do something for my own enjoyment. It's the only language where I don't feel like i'm fighting anything, just feeling out where I need to go.

TI BASIC if you're looking to teach high schoolers

Better starting with web and JS these days imho but python is very good and the extensive libraries are fantastic.

>scripting languages are good for beginners
Cancer pls go. A generation of idiots is already ruined by this shit. Don't let the AIDS spread to more of them. If you want to develop software worth a fuck for a living then you need to start with C and earn your way to higher levels of abstraction. Python should be third or fourth language on your list, if that.

Hello fellow masochist

Yeah I actually started with VB (people laughed), then moved onto C, Java, and Python.
Now I exclusively use C, assembly or python

I think PowerShell is better.
It can scale from the command line to a full project rather nicely.

Right on. I started with VB last year myself and move up to C#. I want to try C now but I hear the windows compilers are shit.

Windows is shit, install gentoo.

Python's great. I started on Python circa 2000 and made a few games with it. Took a while before I learnt that you could use proper labels instead of line numbers though.

Check out my beautiful Python code:
SCREEN 12
FOR y = 0 TO 479
FOR x = 0 TO 639
PSET (x, y), (x XOR y) AND 15
NEXT
NEXT

They should start with assembly so they can fully appreciate the use of a compiler.

you should use GOTO

OK

SCREEN 12
y = 0
yloop: x = 0
xloop: PSET (x, y), (x XOR y) AND 15
x = x + 1
IF x < 640 THEN GOTO xloop
y = y + 1
IF y < 480 THEN GOTO yloop

It's important everyone learns C, but please don't use for serious projects outside kernelspace/embedded. Memory errors in C are by far the most common source of vulnerabilities today.

Python is awesome glue code and you can do most of your code in it, only optimising the actual bottlenecks with C. Thing is though, many programs today are not CPU bound at all, but io bound instead. Basically Python was the solution long before nodeshit came along.

Disclosure: code Python for a living

My nigga.

well how many years remain until they cease support for python2?

can't wait for it dead so those retarded "pythonistas" shut their mouths.

>Python alone is for Pajeets who couldn't grok Java.
Are you kidding me? At the highest levels of programming, Python is much more intricate than Java.

This thread is full of Java spergs spreading FUD. Thankfully some of the posts weren't shit.

for i in range(10):
print(i)
else:
print("done")

sorry that beautifulsoup didn't handle unicode until recently, learn to write your own code

ITT: tech i don't like is for pajeets

oh wait that could describe literally any thread on Cred Forums

>tfw just got to work and booted up PyCharm
Another day being comfy.

>this shit advice thread
top banter though

Matlab is great great but its so fucking expensive. python can do most of the data analysis kind of work that gets done in matlab. Its what they teach to most engineers for numerical modeling but once they graduate they better pray their company has matlab. Or mathematica, used that shit for years and its dope but crazy expensive.

I think python is a great language for people to learn if they aren't trying to become a computer scientist. Programming languages is a tool and different tools have different uses. Its great if the program isn't the end product you know?

no I learned that python is shit and switched to ruby/nokogiri instead.

>tfw I work on Python all day and they still call me a computer scientist
Pottery

MATLAB

love matlab. designed and simulated 8 DOF robot arms in matlab last year.

Thanks, user. Reading through these now.
I've already learned a little bit of Java, but I want to try out another language.

There's a free alternative called GNU Octave, check it out.

So VHDL is high-level? Top post lad.

follow your pic and fuck off to >>>/reddit/

If you're in scientific computing or data science, you can definitely get hired for a high-paying job knowing only Python.

Python teaches awful habits to be honest, if I learned python first I think it would have poisoned my brain too much with the absence of statically typed members.

Shit meme language that has a shit syntax and is slow af.
Only non-programmers use python and then they have problems when they have to use a REAL language.

see
No mention of "programming languages"

whats the best book for learning discrete math>

Was hoping someone might be able to help me.

My first day learning python. I made a simple keylogger and it logs fine on a desktop but doesn't recognize numpad inputs. It also cant recognize any laptop inputs.

Is there a reason for this or something I'm forgetting? Its a long shot but thought Id ask.

From today I will read everyday
>sedwick algorithms 4th 100pages/day
>C++ primer 6th 100pages/day
>knuth discrete math 50pages/day

I will post results in next 10 days

> 250 pages/day

That's too much even for programming books. But discrete math and algorithms will really slow you down.

Python is a lot like pseudocode; it basically is pseudocode, so it's easy and fun to jump into for newbies and professionals alike. The only problem is that it has aged, and the biggest flaw in it is the package manager (pip) which because it installs all modules on a global basis it makes it difficult to work with big scripts that work with several versions of a module. It has forced those developers to use virtualenv to emulate local dependencies and that is just a relatively tedious workflow.

Where I've worked, people avoided pip altogether and preferred modules that were available from a repo along with whatever Python version is installed on the system (usually 2.7.5 in CentOS 7) because multiple versions of Python and pip is just horrible to work with.

I wish pip was reworked to be better, but that is probably never going to happen. The language has been around too long, still has a feud between the major 2-to-3 breaking changes and nobody is going to break the status quo any time soon.

Hello, I've come to finish this thread off once and for all.

First, what are your goals?

>I am a beginner and would just like to get a feel for programming
Then you likely want javascript. It has the largest community, the largest repository of libraries(a lot are shit, but it doesn't nullify the fact), and you can do anything with it with little fuss. Want interactive charts? Load up D3 and read the docs. Want to do server side programming? Download Node.js and read the docs. etc. etc. Browser APIs and many libraries are going to encourage beginners to keep going because they'll be seeing results.

> I would like to do web development
This one can be divergent. First, do you want to work enterprise or startup? If you want to go the startup route then you should pick between javascript or ruby. If you want to go enterprise then pick between C# and Java.

>I want to do scientific computing/numerical analysis
Python should cover most bases, but you might wanna pick up R as well

>I want to do game development
C++ if you wanna do it right. C# and Unity if you wanna just get something going as soon as possible.

>I want to do embedded systems
C

>I want to learn about computer science
I'd recommend Scheme -> Smalltalk -> Haskell to cover most of the bases. You can trade Smalltalk for ruby if you like, because it does OO pretty well.

This covers most of the bases for a beginner. From there you will want to branch out into other PL to improve your abilities and problem solving skills and become more versatile.

Note: Python can be substituted in for a few of these, particularly web development and learning.

I realize that choosing javascript as a beginner is a point of contention, so I want to belabor the point a little more.

>Server side/API
Node.js, Express

>Client side/Web
jQuery, Angular, React, Vue, D3, Highcharts, WebRTC, Google maps, +thousands more browser APIs that make it simple to do complex things

>Desktop Development
Electron which is a wrapper around Node.js. Slack and a few other companies use it for their desktop apps.

>IoT
Johnny-Five, Cylon

>Game Development
Phaser, and a myriad of other game frameworks. Unity has it's own javascript like language as well.

As you can see, almost all of the bases are covered besides Scientific/Numerical computing. This is due to the fact that all numbers in javascript are 64 bit floating point numbers. For a beginner though, javascript covers a ton of ground. I acknowledge it is not the greatest language, but it is the one I'd recommend.

the logo is just cute

>programming language

If you have windows 10, install the subsystem for Linux. Then you can use bash, gcc etc. That's what I do

see >programming language

i just started uni and im learning c# in my programming language class and c/c++ on my algorithms class

is this retarded or good

Scratch will be the new python. Not now, it still has some way to go but there are already people adapting it so that you can write boot scripts in Scratch.

C/C++ is great, C# not so

You tell a interpreter what to do in all programming languages. Even assembly is a "scripting language" because you're telling an interpreter(CPU) what to do.

don't listen to faggots, both are good especially c#

If you have literally any windows system, install cygwin, selecting clang in the installer.