5 ms·
When it comes to programming languages/framework debate, there are a few interesting tidbits: 1) Geeks _love_ to debate languages, especially one they _know be
by edwinnathaniel 15y ago
When it comes to programming languages/framework debate, there are a few interesting tidbits:
1) Geeks _love_ to debate languages, especially one they _know better_
2) Geeks also love to trash languages that they don't know that well
3) There's always the claim of N-increase of productivity without any scientific backing (yet we always stress out that we should measure everything...seems like a paradox eh?)
4) This is how we do politics: debating languages, tools, frameworks.
Use whatever you like. That's the bottom line.
Joel used ASP.NET for FogBugz, ASP.NET MVC w/o ORM for SO.
LinkedIN, TripAdvisor, Jive, some Google properties are using Java.
Facebook, Flickr, WikiPedia use PHP.
You are far more productive using the tools you know.
If someone just picked up Node.JS (and a novice JavaScript developer) yesterday and claimed he/she got 10x productivity boost, ask him/her to show how they go about and code the solution a'la Notch (live-stream how you code or from pre-recorded coding session).
Building products require more than just a syntax. Libraries, Tools: build tools, packaging tools, deployment tools, documentation tools, etc are all as important as the programming language itself.
It's about time we ask for proofs, not just a blog post claim.
- damagednoob 15y ago> Joel used ASP.NET for FogBugz To be pedantic, that's not true. As I understand it, FogBugz was originally written in VBScript (Classic ASP) and then ported to Wasabi, FogCreek's own compiler. Wasabi then spat out PHP and VBScript. http://www.joelonsoftware.com/items/2006/09/01b.html http://www.joelonsoftware.com/items/2006/09/01b.html However, I still agree with your point and this probably makes it an even stronger argument.
- edwinnathaniel 15y agoDoh, you are correct. How did I forget about Wasabi! It created a bit of controversy too back then when he criticized rails.
- elangoc 15y agoI came back to this PG essay on identity a couple of days ago. The essay discusses the points you mentioned and a compelling explanation for them: http://www.paulgraham.com/identity.html http://www.paulgraham.com/identity.html
- ExpiredLink 15y ago> some Google properties are using Java. Google is mostly a Java shop, IIRC. They even write HTML and JavaScript in Java, a.k.a GWT.
- rbanffy 15y ago> 2) Geeks also love to trash languages that they don't know that well Usually, fresh (and valid) criticism can only be found when someone who knows a language abandons it in favor of another. Some of my criticism of Java and C# would, probably, refer to features and techniques that are outdated. However, other aspects would remain as they were (tendency to depend on overly complicated tooling, verbose syntax, relatively low productivity - here we are, headcount-wise, mostly a Java shop while delivered-product-wise a much more even split with most Java projects being delivered late) and my criticism should still be valid.
- edwinnathaniel 15y agoYou're right. Some developers who moved away from Java during the heyday of EJB1.0/2.0 and Struts1.0 definitely had valid criticisms back in 2004/2005 (the war between Java ecosystems and Rails). Fast forward to 2010-2012, the criticisms themselves had become outdated.
- rbanffy 15y agoNot all of them. Java and C# tooling is still horribly complicated, both languages are overly verbose and building any significant app with either one still requires tons of boilerplate code (usually generated by said overy complicated tools. Productivity is also much lower (here) when compared to teams using JavaScript or Python.
- edwinnathaniel 15y agoWeird. Maybe it's a matter of taste but I find each tools have the same level of "complication". Having said that, I do want to ask you to refrain yourself from commenting non-issue such as the IDE + Static language and LoC due to formatting debate because it is heavily a matter of preference in which I think it would definitely be a waste of my and your time to discuss further. Side note: I don't think Eclipse is any more complex than Vim to master (unless of course your developers use Notepad) and Maven to be... more stable and less of a moving target compare to similar tools in other environments. I don't write much boilerplate code these days because I use Spring-Data and other modern frameworks (JAX-RS, JAX-WS). So I'm still confused with many people keep saying "tons of boilerplate code". Can you quantify these "tons"? 2 extra lines? 10 extra lines? what is the context/situation? Can you explain with some examples so I can see your pain point? Gone are the day of boilerplate XMLs as well since these days frameworks are moving toward annotations heavy. Many situations depend on the context: we built a moderately complicated "portal" that communicates with 4 different data sources (2 Web Services, 2 scheduled DB dumps) using Java in about 6 months. The software has to be deployed in 4 different environments (LOCAL, DEV, UAT, PROD). Bending Maven to meet certain build/packaging requirement was simple. Maintenance has been a breeze so far: no downtime (we use the latest GlassFish), once the DB locked (but that was the DB), and once JPA/Hibernate bailed on us due to the size of the data we pulled (we skimmed the data down a bit and the issue is gone). DB migration was a walk in the park using Flyway. After going through Rails, Python, Java and lately C#, my mindset definitely has changed when it comes to the holy-grail of productivity debate: they all suck with different level of problems.