4 ms·
It sounds like the goal is to get people programming. That means a combination of teaching them, and getting them excited. Being able to show the thing you crea
by ajanuary 12y ago
It sounds like the goal is to get people programming. That means a combination of teaching them, and getting them excited. Being able to show the thing you created to your friends is a powerful motivator.
- TheDong 12y agoIf you get excited by showing your friend some silly webpage, but aren't absolutely thrilled by function composition in haskell then you're a coder, not a programmer. You're in the wrong class. The point of programming classes should not be to hide what programming is and show this silly mockery of it which javascript is. It shouldn't veil true programming issues, like correctly reasoning about the structure of your code, with a language which makes it easy to code in without ever programming. If you need to motivate someone to be a programmer, they should not be one at all. They should not be going on to write poorly implemented software because they didn't have a passion for implementing proper reference counting in a legacy C codebase, but instead wanted to write an iPhone app for their friends. If you need to motivate someone to be a programmer by teaching them to draw on a canvas or manipulate the dom, rather than teaching them the wonders of basic lambda calculus, then you're doing them a massive disservice by using the word "programming" to refer to something else entirely.
- gcommer 12y agoYou are completely assuming that everyone who wants to program is intending to do so professionally, or that they won't be able to grow from a basic intro of "here is how to present your thoughts programmatically" and then cover the deeper subjects later, as they need to. This is especially relevant as we start teaching programming at younger and younger ages. I hope it's obvious that when kids start programming in 4th grade, it's much more intuitive to start them on Logo than lambda calculus... See, for example: https://neil.fraser.name/news/2013/03/16/ https://neil.fraser.name/news/2013/03/16/ Also, if you look at the amount of money that "Flappy Bird" made, perhaps making brain-dead iPhone apps isn't such a bad deal...
- hueving 12y agoslow clap It's rants like these that really harm the perception of the functional programming community. It just portrays you as the archetypal 'misunderstood genius' trying to show everyone in the world how wrong they are and how only the 'true programmers' do what you think is right. Yet none of this is backed up by evidence that the benefits of functional programming lead to better software.
- cageface 12y agoYet none of this is backed up by evidence that the benefits of functional programming lead to better software. Amen. I've been hearing exactly these kinds of grandiose claims from FP advocates going back as far as 1998. The funny thing is, the same people almost never seem to getting around to actually writing any code of any substance. As far as I'm concerned there are some good ideas coming from the FP community but the more extreme implementations of FP like Haskell have yet to prove their worth in production environments.
- codygman 12y ago> FP like Haskell have yet to prove their worth in production environments Huh? What is your definition of proving worth in a production environment? Did you hear recently about bond? It's written in haskell by Microsoft and used in Xbox Live as well as other infrastructure. There's also facebooks Haxl... Remember Bump file/etc transfers in Samsung Galaxy commercials? That was written in haskell too.
- BuckRogers 12y agoWhile I disagree with the author that this is the penultimate goal that should be overriding all other concerns. I'll bite for the sake of discussion. If that's the goal then Javascript was obliterated before the OP woke up to write this ill-conceived blog. What people are building with Python on Kivy (chose the nearest example)- https://itunes.apple.com/us/app/deflectouch/id505729681?mt=8 https://itunes.apple.com/us/app/deflectouch/id505729681?mt=8 Vs. What people are building on the webstack (also chose the nearest example)- http://prog21.dadgum.com/203.html http://prog21.dadgum.com/203.html I do give the author credit for not contorting the page into an eye cancer causing abomination like most web developers are doing these days. While he's espousing JS, oddly enough he may share my preference for a web that's as JS-light as possible. :) But our professor does already have something to show his friends! So download your full blown games, accepted into the AppStore (or Google Play) to show your pals what you built. Then pass out your little URL. Let me know how thrilled they are then. In sum, if you're looking for a great general purpose PL to start with and maybe grow with, with plenty of ways to build cool stuff- Always Bet On Python.
- ajanuary 12y agoJust because someone doesn't have a javascript heavy blog (which is designed to be mostly text) in no way means they think must think the whole web should be kept JS-light, or that JS isn't a worthwhile technology to build interactive applications with. They could believe in an appropriate use of technologies. There are plenty of technologies for getting JS based apps into app stores, just as there is for Python based apps. If your argument is is "Here is a highly interactive Python app and a low interactive blog post, therefore Python is more compelling" then: What people are building with Python- http://learnpythonthehardway.org/book/ex1.html http://learnpythonthehardway.org/book/ex1.html Vs. What people are building on the webstack- https://itunes.apple.com/us/app/biolab-disaster/id433062854 https://itunes.apple.com/us/app/biolab-disaster/id433062854 I agree that some of the arguments such as library longevity and health are debatable, but in terms of being able to get your application out to people, JS undoubtedly wins.
- BuckRogers 12y agoYeah, unfortunately the discussion was around getting people to program so they had something to show others. Not getting your application out there to as many people as possible. Sounds like a kneejerk defense of your chosen platform than honest contribution to me. Not that you've proven this new point either. At $99 per student for impact.js just to learn on, I think the only thing undoubted is that you're desperately grasping for straws. Paid software compared to Python's ecosystem that provides something better for free. Along with more varied libraries, and a better language too. Maybe as a teacher you could buy just one copy and pop the hood and show them that source code on how this is built.. oh wait, it's not open source. Also the slight snag that impact.js doesn't have support for Android. Which happens to be the largest mobile platform in the world. For only $99.99! You may as well have sent me Xamarin to compare with Kivy and tell me how C# was the way to go. Use what you want to teach with. But using these harebrained reasons concocted as to why you'd want to push something like JS over a PL of Python's caliber make no sense at all.