TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Which programming language and Web Framework to learn SaaS development?

20 点作者 cfarre大约 10 年前
I'm teaching an undergratuate course on SaaS (Software as a Service). My students have to develop a small project and they have to choose among the following options: Ruby + RoR, PHP + Laravel, Java + Spring, and Java/Groovy + GRAILS. What do you think?

19 条评论

MichaelCrawford大约 10 年前
I would add Python + DJango.<p>Also have them choose among MariaDB or PostgreSQL.<p>Really the best choice has quite a lot to do with your personal style. For example I think Objective-C is OK, but I far prefer C++ and would not touch Swift with a hot rock.<p>However I am completely cool with someone else writing Swift code provided I never have to look at it myself. I know very well that Apple created Swift for the specific reason that Mac programmers tend to be quite clueless about memory management. That trait goes all the way back to the 1984 Superbowl Mac.<p>Despite the Mac memory manager and all of the System and Toolbox APIs being lucidly documented, the very reason that we have Mac OS X at all is that Mac developers so very commonly crashed the entire system when they would do something that Inside Macintosh Volume 1 said you should never do.<p>While today we won&#x27;t crash the entire system, just have a look at the App Store. Pick a few Apps completely at random, then sort the user reviews by Most Negative First. Overwhelmingly, the users say the apps are complete crap.<p>What this has to do with SaaS?<p>Were I to write such code, I&#x27;d use C++ but I know very well that most would choose not to, and very many it would be really bad if they did.<p>As a consultant, I spend a lot of time looking for gigs. I learned PHP and MySQL a while back, I can do OK with it. But even so, when I find a contract on craiglist for PHP work, I don&#x27;t even apply for it. PHP isn&#x27;t my cup of tea.<p>I know very well that Facebook is written in PHP. More power to them - I respect their work, but I personally wouldn&#x27;t want to work there.<p>On the other hand whenever I find C++ work I&#x27;m on it like a pit bull on a pork roast.<p>Among the more typical web programming languages, Python and PostgreSQL are more my style then Ruby, PHP or Java.
评论 #9347332 未加载
dangrossman大约 10 年前
SaaS is a business model. It doesn&#x27;t seem like the goal of a business course would be to teach new programming languages or frameworks. Why is it important that you restrict the tools used to build the project assignment?
评论 #9350669 未加载
评论 #9347025 未加载
davedx大约 10 年前
Ruby on Rails. It lets you build out generic webapps the fastest, is very mature now, and Ruby is the most pleasant language to use out of those.<p>Meteor is also a nice option for iterating quickly and building prototypes, but note SEO support is nasty.
评论 #9347336 未加载
dirktheman大约 10 年前
Why don&#x27;t you let the students choose their own framework? Maybe I&#x27;m fluent in Python, It&#x27;d be pretty annoying having to learn Ruby&#x2F;PHP&#x2F;Java first instead of focusing on my SaaS project.<p>The best framework for any job is the framework you know the best. I don&#x27;t know Java, but I can accomplish the same with Laravel than with Rails, but with Laravel it will take a fraction of the time. Not because it&#x27;s somehow &#x27;better&#x27; than Rails, but because I know it better.<p>I can&#x27;t think of any benefit for you or your students that a restriction on language&#x2F;framework would offer.
dotdi大约 10 年前
Professionally, I work with Java&#x2F;Spring in a quite large B2B setting.<p>Having said that, I&#x27;d add Scala&#x2F;Play to the mix. It&#x27;s a joy.
trcollinson大约 10 年前
This is rather tightly tying the idea that SaaS and Web Applications are the same thing. It could be argued that all web applications are a SaaS product (because of their multi-tenant nature or whatnot) though I think this depends on a number of other factors. Not all SaaS products are a web application. Maybe they are a web service, for example, purely producing data with no front end web application at all. I could imagine, for example, an undergrad creating a SaaS platform for distributing college basketball scores during march madness in the US, but with no front end at all.<p>So, to echo what others have said, why restrict students to certain platforms?
cpursley大约 10 年前
It&#x27;s hard to argue against Ruby for that type of course. Perhaps Ruby and Sinatra or Ruby and Lotus (<a href="http:&#x2F;&#x2F;lotusrb.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;lotusrb.org&#x2F;</a>) instead of Rails.
akbar501大约 10 年前
I personally use Java+Spring, JavaScript+Node, and Python+Flask. However, I would recommend against the Spring and Node options as they take a while to master (Spring due to size, and Node due to async programming).<p>I have not used RoR, but everyone I know who has used it recommends it highly, so it would be a solid choice.<p>Also, Python+Django is solid for a course. Django is not my choice of framework, but it&#x27;s well designed, documented, and comprehensive.
ing33k大约 10 年前
I think they are great, would add Python + Django also .<p>students who choose RoR will have a very good advantage as there are many gems which can simplify the creating of SaaS apps .
vorg大约 10 年前
I&#x27;m quite certain &quot;Grails&quot; should <i>not</i> be fully capitalized as &quot;GRAILS&quot;. Also, Grails 3.0 and Grails 2.5 have both just been released together, a few days apart, as two separate products and I&#x27;m not sure how compatible they are with each other so you might want to specify Grails 2.x or Grails 3.x.
theaccordance大约 10 年前
I recommend considering the MEAN stack if you&#x27;re teaching a course on building SaaS projects. The students will benefit from this due to the MEAN stack&#x27;s continual rise in popularity, and the fact that they&#x27;ll essentially be using a single programming language - JavaScript.
slickwilli大约 10 年前
I&#x27;d let them choose what they want, let them quickly realize what works best for them, forcing them into a corner is only going to stifle them (&quot;Hmm, I know how to do this with Django but not in rails&#x2F;laravel&#x2F;groovy&#x2F;etc...fuck it let&#x27;s dumb it down and get it to work..)
justincormack大约 10 年前
What do you want them to learn form this exercise? &quot;learn SaaS development&quot; is a bit vague. Ruby on Heroku is perhaps the most canonical example.
M8大约 10 年前
You have following choices covered:<p>1) a dynamic language<p>2) a horrible language<p>3) an OOP language that is due an update<p>4) another dynamic language<p>I suggest adding following options:<p>1) an up-to-date OOP language:<p>C# + (WebAPI + Angular&#x2F;React)&#x2F;(MVC)<p>2) a functional language<p>F# + same as above<p>3) another functional language<p>Scala + Play
pjmlp大约 10 年前
I would probably also bring some Scala&#x2F;Clojure stacks.<p>Otherwise the list seems quite ok.
percept大约 10 年前
RoR.
satchute大约 10 年前
why pick one? Have them do the project in Ruby&#x2F;Rails and then do it again on one of the others and then have them compare the pro&#x2F;con&#x27;s of each one.
envex大约 10 年前
How about Node + Sails?
znpy大约 10 年前
Grails!!
评论 #9380807 未加载