Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
let i hug
Dec 25, 2011

I don't understand why everyone ITT is insisting that all web apps be written in statically typed languages from the start. My experience is that if you're starting from scratch on something you're not going to understand your end product/the business domain well enough to build anything that you won't want to totally replace after you start gaining momentum. If you know you're going to want to start over again when your app hits ~40k lines of code, why would you spend that time writing in verbose, clunky languages? Better just to code it Ruby/Python/even Node, get it out the door, and then when it starts to get too big on you, just move to microservices in Java/.NET/whatever.

Of course, I'm also a person who doesn't understand people who only ever code in one language and I find writing code to be really easy if you already know exactly what functionality you're implementing. I know a lot of people are afraid of rewrites. But at the same time, coding a system you see being used in "5-10 years" is sort of crazy to me when you're talking about application code. You're not building a matrix manipulation library based on 200 year old math here.

Adbot
ADBOT LOVES YOU

let i hug
Dec 25, 2011

Steve French posted:

I think there are far more companies running rails/django stacks that are over 5 years old than you think there are. I work at one such company.

In theory rewriting is a great idea. Maybe. In practice, it rarely happens before the codebase gets huge and unwieldy and incredibly difficult to rewrite because guess what, the threshold for "ok time to rewrite because our rapidly developed product has taken off" occurs during rapid growth and gently caress you don't have time to stop everything and rewrite it all

Newf posted:

I'm not sure I follow here. Is a large percentage of software that you use younger than 5 years?

qntm posted:

Unfortunately, just because it's a good idea to throw away the first version/prototype doesn't mean that that ever happens in reality.

Okay, first off I should acknowledge that I work at a large tech company and we have more flexibility than most and have the benefit of some very experienced people who are good with designing system architectures. I know that puts my experiences far from the norm, and I might be out of touch here.

That said, the best part of web development in the past few years as I see it is an increased use of distributed architectures that are a lot easier to transition into/make changes to than traditional more monolithic applications. The senior guys at my company are really good at mapping these sorts of things out, and once you have all your application seams identified it's easy to peel off bits of functionality and serve it as a REST API or w/e. When it's done well it's not a whole lot different than how you would normally iterate through a product's development, because you just look at the worst performing part of your code, split it off, rewrite it in a more optimal way, and plug it into the system.

In this context, you really can just (gradually) throw away that 1.0 and worry about optimization when you know more about what's going on. It also sets you up to take advantage of cloud environments, etc etc.

This obviously doesn't work if you're making desktop applications/embedded software, but with the web you really get to leverage your control over the whole server ecosystem. I mean, Facebook started out in PHP, and they figured their way out of that mess somehow.

  • Locked thread