12 ms·
So incredibly in favor of this. I love python, it's probably my favorite language. I taught a class on it in Boston. But these exact questions have indeed brou
by aerovistae 12y ago
So incredibly in favor of this.
I love python, it's probably my favorite language. I taught a class on it in Boston. But these exact questions have indeed brought doubts into my mind.
Year after year I'm disappointed by what python simply cannot provide in any straightforward way. The options are very few for making games. The options are very few for desktop GUI (I tried to do PyQt and then discovered QML with JavaScript and quickly left python behind for that project). The options are few for back-end web development-- yes, there's Django, but it just doesn't have the clarity, documentation, and community that Rails has, or Wordpress (different type of entity, I know), or many others. Flask is amazing but small in scope and community.
I'm a professional JS developer by day and I used to think JS was awful for teaching, because the functional side of it is nightmarishly confusing IN GENERAL, let alone to someone new to programming. Its objective/prototypal system takes quite a bit of getting used to, also, and it has many other quirks.
But, for the EXACT reasons mentioned in this linked post, I changed my mind. The fact that JS can be used for almost anything nowadays, is ubiquitously in demand, has a massive, massive worldwide "community," and allows easy GUI manipulation via HTML/CSS, makes it the best candidate for teaching by far.
It'll just take some careful consideration as for how to approach it best.
- themartorana 12y agoYou had me until you said that Django doesn't have the clarity or documentation of Rails. Django is easily one of the best and most meticulously documented pieces of software I've come across in my 18+ years of writing software. It also, IMHO, has a much higher "clarity" quotient - Rails is a lot of magic for me, while Django is, in the end, much less religion and much more clear. (I will acknowledge that I chose Python and subsequently Django because they spoke to me personally, but seriously, Django's documentation is second perhaps only to Redis.)
- orangecat 12y agoAnd this is why I'd argue that Python 3 was a big mistake. In exchange for 6 years and counting of freezing and bifurcating the ecosystem, we got a smattering of minor improvements that don't substantially change the developer experience. What could we have had if that effort had instead been focused on things like real performance optimization and native browser support?
- pekk 12y agoThis makes the false assumption that resources put into Python 3 somehow prevented "native browser support," something that has always been firmly in the hands of browser vendors and was never blocked by insufficient loyalty to Python 2. The world where just giving up on Python 3 would magically bring huge benefits never existed. If you don't want to use Python 3, keep using Python 2 through its EOL in 2020+ but why interfere with other people happily using and preferring Python 3 for years now? It is not interfering with you.
- rdtsc 12y ago> This makes the false assumption that resources put into Python 3 somehow prevented "native browser support," Agreed, browser support was probably unrealistic. However other points still stand. Python 3 was a mistake. It at the wrong time (too late), and didn't bring enough. The talks, and the time, and drama around it weren't worth to get dict comprehension and unicode support. A 10x speed improvement (heck, just a 2x) would have been. Better IO handling via something sane like lightweight threads (via an already existing framework like gevent or eventlet). Better packaging. Better default GUI library. Refresh the standard library with something like requests, ipython... Python had a golden opportunity and it squandered it. There were
- nodejsisbest 12y agoThere were, there were. I think Node.js is the way of the future with their evented IO platform.
- rdtsc 12y ago> I think Node.js is the way of the future with their evented IO platform. But can I use it to build microservices?