13 ms·
Existing expertise If the goal is to get to a minimum viable product quickly (like most startups) then existing knowledge is a pretty good reason to go with a
by wriq 15y ago
Existing expertise
If the goal is to get to a minimum viable product quickly (like most startups) then existing knowledge is a pretty good reason to go with a certain stack. He even mentions having the main algorithm already implemented in C# so at that point it's pretty much no contest. He can always go the route similar to StackExchange in using Linux & Open Source on utility servers (Caching/Load Balancing) and keeping the MS-centric App/Database server.
- latch 15y agoHow far do you take it though? What if someone knows c+cgi? I forget the exact quote, but something along the lines of 30 years experience doesn't mean much if it's the same year 30 times.
- NetMonkey 15y agoEverything in life is a trade-off. And the 30 x 1 years quote nicely illustrates why you should always strive to learn new things. However, if you already know how to do something well in one particular stack, then you should just stick with that if the objective is to ship. The operative word is of course that you know you can do it well in that stack. If you start thinking "there has to be a better way" then you should seriously look into alternative stacks or whether you are using your current one correctly.
- Chris_Newton 15y ago> 30 years experience doesn't mean much if it's the same year 30 times. Your quote is apt, but it cuts both ways. Using the same old tool indefinitely, even when newer tools can do the job better and much faster, might be foolish. On the other hand, learning to do the same task over and over again using different tools, each only a modest improvement on the last, might also be foolish. In the case of your C+CGI example, I would agree that it makes sense to prefer any of the more modern "scripting" languages, which typically have both good library support for networking protocols and much more powerful integrated string handling than C. On the other hand, there is little offered by any mainstream language ecosystem today that can't be achieved at least reasonably proficiently using tools from the .Net world as well (ignoring the obvious limitation of having to run on a .Net platform).
- eneveu 15y agoThat's an interesting dilemna. I'm a Java web developer, I know the platform / libraries / tools really well, and know how to get things done with it. I've dabbled with more powerful languages in my spare time, but I've been using Java 8+ hours a day for the last 3 years. If I were to launch a startup, should I go with the "cool shiny powerful" language, or should I stay with the boring verbose language that I know well? Would the fun factor of using Clojure / Scala / Ruby / Python / Blub++ be worth it? Would the language "power" offset the time "lost" gaining experience with a new platform? What about hiring? Hackers love powerful languages. So many tradeoffs.
- mgkimsal 15y agoHave you done anything with Grails or Groovy yet? My experience is that it's probably the easiest transition for Java devs, because Groovy is something that can be interchanged in each file with "plain old Java".
- eneveu 15y agoI haven't mentioned Grails / Groovy, because it always seemed to me like some kind of a "hack" to improve Java with some nice syntactical sugar / DSLs / dynamic programming. Scala / Clojure seemed more interesting, and I focused on them. I've only tried a small "create-your-blog-in-15-minutes" Grails tutorial, and it was actually quite effective. I haven't revisited it since then. Thinking about it, my Groovy avoidance is absurd, and I WILL look at it again with an open mind. I remember "dismissing" Groovy a while ago, after reading a few articles raving about Scala being the next JVM language. I think it was quite dumb of me actually. A colleague of mine used Grails to build a small issue tracker for a client, and he loved it. The only drawback, according to him, were some of the plugins: when the default plugin configuration wasn't what he needed, it was sometimes hard to change it. Since they were open source, he simply forked them / hacked at the code / submitted patches to improve them. These drawbacks are expected, though, since the language is still young, and plugins will mature. Spring Roo also looks interesting, for those who want to keep using Java. It's inspired by Rails / Grails, and uses code generation to speed up development: http://www.infoq.com/interviews/roo-ben-alex http://www.infoq.com/interviews/roo-ben-alex