Live data from Hacker News

Choosing a Web Framework/Language Combo for the Next Decade

jacquesmattheij.com

211–220 of 228 posts

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

#211
post #179
post #14

Dropwizard is where it's at right now for Java frameworks. It's a superproject that glues together the best pieces out there. Surprised it wasn't on the wikipedia list. Which brings up another point: if we're talking about web frameworks for the next decade we should really be looking at service-oriented architectures / single-page apps or whatever you want to call that model. It's quite different from the web framew…

What do you think of Play?

It's interesting but I don't know about 10 year longevity. I guess because it doesn't score super great in benchmarks, does bytecode hacking / is not standard Java, and all really just to focus on making those initial stages of a project a little easier.

Dropwizard is still pretty easy to use for a Java developer but has the advantage of being standard Java and pulling together the very best open source projects out there.. so it inherits the communities and experience around each of those projects. That probably has better prospects in the long run.

I mean even if Dropwizard goes away, it's basically a glorified bundle of those projects which already have multiple years and tons of usage behind them.

Play does seem to have a burgeoning community though but it's too early to tell whether it's "take over the world" or "go the way of Scala".

[1] http://www.techempower.com/benchmarks/#section=data-r9&hw=pe...

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

#212
post #152

Earlier quoted context omitted.

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).

I believe thats retail only.

My product keys have come from MSDN.

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

#213
post #55

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 had enough syntax errors appearing after a copy and paste that ended up with difficult to spot unaligned code that I decided to use Python only for little scripts and when I'm forced to use it and nothing else would do. The problem with Python is that editors don't have hints to autoalign the code for us. Same problem with templating languages like HAML and Slim which, oh the irony, were born for Rails. Nevertheles…

I've found the same as you - pasting code from anywhere to a Python application comes with a risk. This risk is however not too different from other languages where you wouldn't want mixed spaces and tabs in your code either. In my opinion, Python just enforces good coding style. You might have been as the error messages I get is rather verbose telling me the linenumber with an exception "IndentationError: unexpected indent" or "IndentationError: unindent does not match any outer indentation level". The first is for wrong identation level and the second is for mixed tabs and spaces.

Anyways - to mitigate the risk of misaligned code. The usual thing is that the wrong type of indentation is used. I use sublime text and in that editor there's a button where I can convert tabs to spaces and vice versa. The other thing is that of misaligned code with your existing code. You can usually get some plugins that handle this for you. In Python I use the Anaconda-plugin with the 'Auto format' feature which aligns in accordance to the PEP-8 standard.

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

#214
post #99
post #17

I (naturally) think that the article's summarily dismissing Haskell is unfortunate. It's probably just the result of poor PR on Haskell's part. Haskell is not only for surpassingly intelligent people, or even optimized for them. If anything, it's the opposite: one of its core tenants is that we're not smart enough to reason about our programs in most languages. Much of the design work focuses on unloading complexity…

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…

Persistent structures do not map well with how computers work in reality.

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

#215

Earlier quoted context omitted.

At n=32 the performance costs are as negligible as dynamic typing once was (even less I'd argue.) As far as I can tell that very much puts us at the point in time where mutable state is usually a premature optimization. Adopting it successfully does require separating essential from accidental state which naturally leads to some variant of FRP being adopted to manage (re-)derivation of accidental state; which is usua…

n=32 leads can lead to lots of sparseness, memory pressure, bad locality (given sparseness); its not going to fly easily as the default. The shared memory aspect is even a bigger hurdle: people share memory for a reason, its not very often accidental. FRP is hardly the answer, but I work on a competing paradigm so mark me as biased. The systems people I work with do a lot of key value stores (sharded NoSQL-style data…

I never meant to imply FP is already the right choice for big data (which is what I think you refer to by 'systems people') or high performance computing.

The reality though is that well over 99% of the market works with data sets for which, with current hardware, the performance costs of these persistent data structures are very much irrelevant.

When you add FRP on top of that so that you can keep your managed state minimal you can actually often achieve quite dramatic performance improvements over the traditional hand-written data-to-UI synchronisation.

For persistent data structures to come into their own for big data quite a few more things are needed of course; but if you look at Nathan Marz's Lambda Architecture for example it's little more than a handwritten system for making large scale persistent data structures manageable with today's systems already.

I'm fairly sure that tooling for that will only improve over time until the very thought of manually managing derivation pipelines becomes as quaint as manual memory management.

As for HPC; yes... I would not be surprised at all if at that level mutable state no longer is a premature optimization. Even there I could imagine many of the more high-level control structures benefitting from persistent data structures though.

About the FRP part; which competing paradigm are you working on? I wouldn't be able to name a 'competitor' so I'm quite curious.

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

#216

Choosing a framework/language for the next ten years sounds like a fools errand to me. Both because what "best" is changes much, much more rapidly than that - and because I'd pick different frameworks depending on the team and project. Starting at the framework end doesn't help me much. Instead I go with the people I have for the project and the things I want to do/validate - and start looking for what gets me progre…

I'd say it makes sense to choose the language based on the team and project as well. There's really no reason to limit yourself to a single language.

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

#217
post #84
post #65

Since the exercise is framed this way (for the next decade), It might by interesting to try it from the perspective of 2004. IE, if you made a decision this way in 2004, how wrong/right would it have been now that the decade is over?

We would all be writing Java applets, no?

Or worse, Coldfusion

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

#218

Earlier quoted context omitted.

n=32 leads can lead to lots of sparseness, memory pressure, bad locality (given sparseness); its not going to fly easily as the default. The shared memory aspect is even a bigger hurdle: people share memory for a reason, its not very often accidental. FRP is hardly the answer, but I work on a competing paradigm so mark me as biased. The systems people I work with do a lot of key value stores (sharded NoSQL-style data…

I never meant to imply FP is already the right choice for big data (which is what I think you refer to by 'systems people') or high performance computing. The reality though is that well over 99% of the market works with data sets for which, with current hardware, the performance costs of these persistent data structures are very much irrelevant. When you add FRP on top of that so that you can keep your managed state…

It actually involves versioned data structures (similar, but a but more complicated than persistent data structures, and outwardly they appear mutable):

http://research.microsoft.com/pubs/211297/managedtime.pdf

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

#219

Earlier quoted context omitted.

I never meant to imply FP is already the right choice for big data (which is what I think you refer to by 'systems people') or high performance computing. The reality though is that well over 99% of the market works with data sets for which, with current hardware, the performance costs of these persistent data structures are very much irrelevant. When you add FRP on top of that so that you can keep your managed state…

It actually involves versioned data structures (similar, but a but more complicated than persistent data structures, and outwardly they appear mutable): http://research.microsoft.com/pubs/211297/managedtime.pdf

I already had a feeling we were essentially arguing the same thing...

Yes; the managed time approach in Glitch is very interesting and indeed a competitor towards addressing the same problem I originally raised.

The core of my original statement/problem definition was that real mutable state, i.e. throwing away history by default, was no longer the smart thing to do given current hardware.

From what I can tell you would also agree with that...

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

#220

Earlier quoted context omitted.

It actually involves versioned data structures (similar, but a but more complicated than persistent data structures, and outwardly they appear mutable): http://research.microsoft.com/pubs/211297/managedtime.pdf

I already had a feeling we were essentially arguing the same thing... Yes; the managed time approach in Glitch is very interesting and indeed a competitor towards addressing the same problem I originally raised. The core of my original statement/problem definition was that real mutable state, i.e. throwing away history by default, was no longer the smart thing to do given current hardware. From what I can tell you wo…

I would, but it doesn't necessarily have to happen with persistent data structures, and I would also argue that they aren't really sufficient (the history has to be useful, after all). They are convenient, and I'm using trees in my current implementation.
Post reply on HN