Ask HN: How to best help a youngster who's tinkering to proper SaaS programming?
What stack would you suggest that will give him some good habits, and develop the interest? To be clear, he's not trying to become employable yet, just to learn to make SaaS sites.
Ruby would get him producing quickly, Clojure might be better for all round thinking, but is it too confusing or offputting to a beginner? I want to direct away from PHP as there's too many bad habits disguised as tutorials out there. Front end I have even less idea of best suggestion of framework for him. Good progressive online beginner tutorials will be a bonus.
It's such a long time since I was thinking as a beginner, before I knew of OO and functional etc, so I'm not sure where to go with this or best order to present things. The last thing I want to do is put him off. Ideas?
9 comments
[ 3.0 ms ] story [ 17.2 ms ] threadDon't complain to the flower that it has too few branches to be a tree someday.
I'm somewhat thinking out loud as I'm just not sure. Maybe a decent front end to sit with PHP is the best answer, but I felt something else like Rails might be more productive and helpful to learning for him than sticking with php.
Last thing I want to do is put him off though!
That with Foundation is probably more than enough until he's ready to make fancy single page apps and learn Angular!
Thanks
I think that's a good one to point him to.
Thanks!
Given that the young person wants to build a SAAS, encouraging them to switch platforms to something unfamiliar seems a bit at cross purposes because PHP is well suited for building web applications and since the person understands it, the impediment of learning a new platform will not stand between the young person and their ambition.
Programming language choice is largely a matter of taste and tastes differ and develop over time. Odds are in a few years the young person will change their taste.
Personally, though I think Clojure is a good language, I think it is generally a poor choice for beginners because:
1. It is aimed at professional programmers and this is reflected in the focus of the community, the tooling, and the libraries.
2. There is a strong expectation that the programmer will have substantial understanding of the underlying platform (JVM, JavaScript, .NET) when it comes to debugging, because error messages will reference that context.
3. Much of the information about Clojure is written for people with years of programming background at an adult level. A significant fraction is at the computer science level. Another significant fraction is about problems that occur at scale.
My advice: do the hard work of finding good material that provides examples in PHP. It's out there. That will let you meet the young person where they are and potentially form the basis for a long term mentoring relationship.
Good luck.
You're right it's probably best to build on what he has. The logic for change was how especially common poor quality info seems to be for PHP. I've seen good code, and even written some, in it too.
I've got a decent set of resources to point him at to build on Python now, so I should find some for php. I'm sure they do exist, great tutorials have come to be for just about everything now. We just have to keep him away from w3schools and similar crap. :)
I'm inclined to give him decent resources for both php and python and go with whichever resonates. He'll soon enough develop his own opinions!
Thanks a lot for your thoughts. Very useful.