8 ms·
+1 for mentioning that python's original competitor was Perl. This point is forgotten some 20-30 years latter
by vonwoodson 3y ago
+1 for mentioning that python's original competitor was Perl. This point is forgotten some 20-30 years latter
- bb88 3y agoNot just perl, but C/C++/Java as well. Ruby was a competitor to Java JSP development back in the day. And I remember when a lot of Java people jumped ship to Ruby. I moved from C++ to python over a decade ago and never looked back. Back then, the python jobs were scarce -- but based upon how I picked up the language, many of the typical C++ issues just disappeared -- and I knew it was going to become popular. One comp sci professor talking at a PyCon years ago made a point that maybe the best college level introductory course probably should not have been SICP based but Python. His example was that for the first time in 5 years of teaching intro courses he had people coming up to him looking to change majors.
- cutler 3y agoMIT dropping SICP/Scheme for Python conicided with the general decline of education as an end in itself. Python is the VHS of computer languages. I couldn't believe it when I heard MIT dropped a language renowned for its elegant lambda implemenation in favour of a language in which lambdas were not only frowned upon but literally throttled. I think it says everything that MIT ditched Scheme and SICP at the same time as it would be near impossible to teach SICP with Python.
- bb88 3y agoI would argue that Python is the Betamax of computer languages, and C++ is the true VHS. Fight me. But seriously, Python is good. Don't let the perfect be the enemy of good, only computer science people can do this.
- GeorgeTirebiter 3y agoI suggest you read the reasons that MIT switched: https://www.wisdomandwonder.com/link/2110/why-mit-switched-from-scheme-to-python https://www.wisdomandwonder.com/link/2110/why-mit-switched-f... and https://www.johndcook.com/blog/2009/03/26/mit-replaces-scheme-with-python https://www.johndcook.com/blog/2009/03/26/mit-replaces-schem... and https://vimeo.com/151465912#t=3577s https://vimeo.com/151465912#t=3577s As to being 'near impossible' to teach SICP with Python: https://web.archive.org/web/20210916151732/https://doc-04-5g-docs.googleusercontent.com/docs/securesc/fovekt30vpsg00ila08qg5tnqs1of1fl/r4ufoc04kejj7q5dpk5j9v46iibo57od/1631805450000/03893712795242147733/12805020624557113431Z/1nln2g0CB9I0KkaG73twpB66TRjF2_On8?nonce=p2oc0mq7olp90&user=12805020624557113431Z&hash=8nurqvid310jrp4q4pljrbtoihdeogk9 https://web.archive.org/web/20210916151732/https://doc-04-5g...
- bluGill 3y agoC++ and Python are not competitors. Sure both are Turing complete so you can implement anything in either. However if you should is a different question. Python is very difficult to maintain when you program goes over 100k lines of code, while the static type system of c++ is good for millions. C++ compiles to fast binary code, while Python is typically 60x slower for logic (though often Python calls a fast algorithm implemented in a compiled language for anything significant so this is hard to measure in typical programs). However if your programs are not very large and you don't need every last bit of speed Python is going to be easier to work with. (And frankly if not working with a legacy c++ codebase you should look at rust, ada, go, or something else i'm not aware of, c++ has many ugly warts that you shouldn't need to worry about)
- germandiago 3y agoAs a person who uses C++, I must say something that also applies, somewhat, to Java. We have all the cool kids like Kotlin, Rust, etc. However, when it is about finishing a project, beating C++ or Java ecosystems is almost impossible. Besides that, C++ has improved a lot over time. It still has its warts and knives but you can code very reasonable C++ with a few guidelines and there are also linters, and -Wall -Wextra -Weverything -Werror. That takes you quite far in real life provided you have a reasonable amount of training. I would choose C++ over Rust any day. The only hope I have for C++ successors are Cppfront and Carbon and they are highly experimental. As successors those two fit the bill. There is a third one, my favorite. It is this one: https://www.hylo-lang.org/ https://www.hylo-lang.org/ but I am not sure how compatible it will/would be.
- no_wizard 3y agoThe one thing Rust is getting right that I hope Carbon et. al take from it is using the type system to manage memory. not having to explicitly remember `free` in safe Rust code is amazing. Knowing that if my types are sound that memory will be managed reasonably is great. I also think that immutable by default, mutable by explicit declaration is pretty great. I do think there is a lot of room to add better ergonomics on these ideas however
- nyolfen 3y ago> the best college level introductory course probably should not have been SICP based but Python i saw this linked on here recently: https://wizardforcel.gitbooks.io/sicp-in-python/content/ https://wizardforcel.gitbooks.io/sicp-in-python/content/
- Stranger43 3y agoAnd were of cause forgetting VisualBasic because who cares about microsoftland those days but back when python/ruby emerged even windows server and IIS was relevant as this was kind of the peak of microsoft's dominance.
- Illotus 3y agoYes, it is pretty weird to think that VB.Net flavor was fairly used in web dev even as late as 2006.