Live data from Hacker News

Choosing a Web Framework/Language Combo for the Next Decade

jacquesmattheij.com

141–150 of 228 posts

Re: Choosing a Web Framework/Language Combo for the Next Decade

#141
Being a Java/JVM expert, I wanted to add a couple of thoughts to your process. I'm not insinuating that you should change anything you've done!

- Dropping JBoss Seam as a framework was a good choice because the important parts of Seam have been added to the JavaEE system, which provides an end-to-end set of technology specifications. If you choose to run a Java Application Server (such as JBoss EAP, Glassfish or Wildfly), then the server will support the full set of specifications, but you don't have to use them. Since JavaServer Faces (JSF) is one of those specification, I'm not really surprised you hadn't heard of it ... it's essentially JSP with lifecycle control and data-binding.

- GWT is indeed a Java technology, but it produces client-side code. For big projects, I generally use GWT with Bootstrap to generate the client. It compiles into Javascript producing several versions optimized for different browser groups. Using Martin Fowler's Passive View pattern, it's easy to write fast tests for your client-side business logic, and since it's typesafe, you get compiler errors before the compilation to Javascript instead of the run-time errors you often see when writing in Javascript (or Coffeescript). Since I generally write the back-end for a generic JavaEE server, I also tend to use REST calls from GWT to an Application Server for client-server communication.

- If you're looking for an ORM, none of the Java frameworks will include one directly, but it should be pluggable. When people talk about Java web frameworks, they're often constrained to just the "View" tier. Spring provides a much more full-featured stack (with DI and JPA) and is more analogous to JavaEE as a whole. I think you should consider those two as the full-stack contenders in Java. You can add GWT onto either if you need a client-side Java technology (I'm sure you'd NEVER use Java Applets for the client side right?).

- I happen to like Scala and appreciate how purely it seems to add a syntax to Lambda calculus. Martin Odersky's "Principles of Functional Programming in Scala" on Coursera was a great class, but I'm hoping the Scala IDE advances quickly. I'll admit I've never written production software in Scala (or using WAVE) but I also admire one project that's using it successfully (https://github.com/takezoe/gitbucket).

Re: Choosing a Web Framework/Language Combo for the Next Decade

#142

Earlier quoted context omitted.

> The problem with Haskell is its syntax. Too many arbitrary and traditionless things to memorize. It's curious that the Haskell developers try to one-up the rest of the language space in nearly every other space, but choose such a weird and unhelpful syntax. I've seen this criticism before, and I don't understand it. The syntax of Haskell is not that big. There are some things a bit funky about it, especially the in…

> The syntax of Haskell is not that big. Neither is APL's syntax. Too much operator overloading is just a bad idea.

There is not really any operator overloading going on. You can implement Monoid for your data structure, but as long as you follow the laws... well, you are implementing operations in the correct way, there is no abuse there, nothing that's surprising and going to bite whoever is reading your code.

But one thing where Haskell errs, in my opinion, is in allowing arbitrary infix operators with random ASCII characters, which library maintainers take as an encouragement to each create their own DSLs which totally makes sense to them and nobody else, but that's not the same thing as saying that Haskell-the-language has a huge syntax. Maybe that's what you mean.

Re: Choosing a Web Framework/Language Combo for the Next Decade

#143
post #139

I don't see the point in attempting to choose a language/framework for the next decade. I would think that different languages and frameworks will be a natural fit for specific applications and perhaps the reason the author is struggling to make a decision is that he's attempting to make it based solely on the abstract rather than a concrete application. I'm not the only one who'd like people to choose frameworks and…

I have a very concrete application in mind but want something that is versatile enough that I can go and do another application without having to go through the whole selection process again (and learn a bunch of new stuff on top of that).

Of course specialization is optimal but as soon as you have to make multiple things and your resources are limited then a general purpose tool is the better choice.

Compare it with hammers. If I only need to do metalworking I'd buy a bench hammer. But if I need to do metalworking and woodwork then a clawhammer is probably a better choice.

As for the selection process, this was just the preliminaries, it's far from over and the next step will be a lot more work.

Re: Choosing a Web Framework/Language Combo for the Next Decade

#144
post #116
post #4

"I still haven’t forgiven Microsoft for their countless misdeeds so Asp/C#/F# are all right out." So Xamarin is Microsoft now? Better tell them, because they don't know it yet. Clojure is a .NET language as well by the way.

Keep in mind that Microsoft now require you to login with their latest IDE. The moment this will bite you in the ass depends on what license you use (retail, partner etc). If your a partner you get a rolling 30 day trial that's tied to your MS Partner account and if you've ever used the MS Partner website you know what a complete piece of shit that is. From the Partner account you assign development rights to a devel…

You can install Visual Studio 2013 with a product key instead if you prefer (that's how I have it installed on my machines currently).

Re: Choosing a Web Framework/Language Combo for the Next Decade

#145
post #107

Earlier quoted context omitted.

> The problem with Haskell is its syntax. Too many arbitrary and traditionless things to memorize. It's curious that the Haskell developers try to one-up the rest of the language space in nearly every other space, but choose such a weird and unhelpful syntax. I've seen this criticism before, and I don't understand it. The syntax of Haskell is not that big. There are some things a bit funky about it, especially the in…

Yeah, but if the monads were the only problem it would be ok (for me at least). But I'm asked to learn monads while also learning this weird syntax. I'm asked to learn something I don't understand in a syntax I don't understand. It's a bit too much. Like a math lecture in which, aside from the new concepts, the lecturer has decided to replace the traditional symbols (+,-, etc) with his new and equally arbitrary ones…

Do you have a few concrete examples, out of curiosity?

Re: Choosing a Web Framework/Language Combo for the Next Decade

#146

FWIW, I'd remove GWT from consideration. I heard that it's shortlisted for end-of-life at Google because it's a hassle to work with. Anecdotally, I agree with that. I once built a product on GWT because it impressed me so much on paper. Static typing, compiling permutations of your app and loading only what's needed, optimization of stylesheets, rendering only on the client etc. It seemed perfect. IIRC the two main i…

Wow. That's going to piss off quite a few people if google EOL's GWT and they know about it today but are not communicating it to the outside world. Google has a habit of pushing tech out for people to build on and then pulling the rug right out from under them. A citation would really help here but 'I heard' makes me realize that will probably not be forthcoming.

I know the Google GWT manager, and unless he's playing his cards very close to his chest, GWT is not EOL'd inside of Google.

Google did "re-open source" GWT a few years ago, and unfortunately it coincided their (AFAIK unrelated) closing of their Atlanta office (where most of the old GWT team worked).

So, it gave the impression of washing their hands of it, but in reality they a) staffed their GWT team back up to 4-5 people, and b) the open source model is much healthier for the project anyway.

(Previously the master GWT SCM has literally Google's internal Perforce/etc. repository, so any patches from external contributors had to be fostered by a Googler that cared about your issue, which made it really hard/impossible to have an external community of committers.)

Re: Choosing a Web Framework/Language Combo for the Next Decade

#147
post #99

Earlier quoted context omitted.

I'm all for trying something unfamiliar, and I could even argue for Haskell that way, but from a different angle. I would say that adopting a language for the next 10 years that doesn't have purely functional data structures at its core is a fool's errand. Persistent data structures, i.e. efficiently storing every version of your data structure, is the natural reflection of the new reality in computing where: * stora…

> virtually everyone still underestimates the impact this will have and (or perhaps because) it's very difficult to get that across in writing. Why is it hard to get across in writing?

I'd say because of two reasons:

a) it requires putting together a fairly large number of concepts of moderate complexity (and you never know which ones your readers already understand.)

b) many of the concepts sound trivial and people usually don't grasp their power until you've listed X amounts of things it would enable.

And to be clear; it's hard for me to put in writing for now ;)

Re: Choosing a Web Framework/Language Combo for the Next Decade

#148
post #141

Being a Java/JVM expert, I wanted to add a couple of thoughts to your process. I'm not insinuating that you should change anything you've done! - Dropping JBoss Seam as a framework was a good choice because the important parts of Seam have been added to the JavaEE system, which provides an end-to-end set of technology specifications. If you choose to run a Java Application Server (such as JBoss EAP, Glassfish or Wild…

Super comment, thanks a ton, I will update the post at some point after this thread has cooled down a bit and I will definitely use your input.

Re: Choosing a Web Framework/Language Combo for the Next Decade

#149
post #116
post #4

"I still haven’t forgiven Microsoft for their countless misdeeds so Asp/C#/F# are all right out." So Xamarin is Microsoft now? Better tell them, because they don't know it yet. Clojure is a .NET language as well by the way.

Keep in mind that Microsoft now require you to login with their latest IDE. The moment this will bite you in the ass depends on what license you use (retail, partner etc). If your a partner you get a rolling 30 day trial that's tied to your MS Partner account and if you've ever used the MS Partner website you know what a complete piece of shit that is. From the Partner account you assign development rights to a devel…

just buy a key and vs2013 will work offline, without login

Re: Choosing a Web Framework/Language Combo for the Next Decade

#150

Interesting views on Python - I decided to start using it for personal projects after trying Go for a bit. Initially I hated the significant whitespace, and indeed many other things, but I stuck with it and I find it all rather elegant - I certainly haven't noticed any huge problems with dependencies but I've probably stuck with pretty mainstream ones (e.g. Requests). I now rather like significant whitespace and ofte…

I wonder if hylang (hylang.org) might suit your tastes. Lisp syntax, macros and full access to the Python ecosystem as it compiles to the Python AST I believe. The bad puns and cartoons come for free :) I wonder if django and hy play well together.
Post reply on HN