by code_Whisperer on 5/2/23, 1:54 PM with 13 comments
So, for the purposes of web application development and my own SaaS development projects, where do you (based on your own experience) recommend I look?
I am thinking perhaps Go with a good web framework, or maybe Python with something like Django, for awhile was thinking Ruby/Rails but that scene seems to be waning (or maybe not?) but am seeking feedback.
Goals:
- Reasonably easy to learn and get started
- framework needs to have decent security baked-in
- should run easily on lower cost server environments (think Linux not Windows - but might be nice if it is able to run on either)
- good database interfacing/support
- must be fast/efficient and scale well
Side note: I do love C# as a language, but have grown weary of the server expense and also the seemingly endless tiny technical problems that require - what feels like - Stack-Overflowing and then tinkering and then tweaking on the server to 'fix'. I am looking for languages and environments that generally "just work."No flame wars, no evangelism. OK, go.
by ignurant on 5/3/23, 3:30 AM
I’ve seen a number of people move from .NET or Node to Ruby and Rails and thoroughly enjoy it, with little desire to go back. For reference, the last 12 years I’ve worked for a company that was traditionally .NET. In the past few years, we’ve been choosing Rails instead. Once you know its conventions, you can really fly. It’s very mature and doesn’t often change in frustrating ways. What I learned in 2014 is still very relevant today.
Especially on small teams or solo, it’s amazingly productive. The out-of-the-box experience gives your users the feeling of a modern SPA without actually being one. Instead, it’s built like a .NET MVC app with standard resource rest routes and Razor views. Significantly less boilerplate. Hard to describe, but very clever. It makes me feel powerful, and I really enjoy programming with Ruby.
But maybe it’s not what you’re looking for if you want a single final frontier to ride off to. Some people really dislike Ruby’s dynamic nature, and Rails’ mysterious-seeming clever conventions. (Though, note, it’s not magic, it’s just clever Ruby code. Everything can be traced and explained). Other languages have a larger market share and perhaps more excitement. But, your described use-case of solo web-dev moots that point.
Consider looking through https://rubyonrails.org/ to sniff it out. Watch that video to see if it jives.
https://gorails.com/guides is a great resource to learn how to set up a dev environment, with tons great modern content.
Whatever you choose, good luck. I hope you find a great fit!
by warrenm on 5/2/23, 2:14 PM
Can't think of any more-or-less "modern" language/framework that doesn't have "good database interfacing/support". Something lower-level like C++ or Java may not have it "baked-in", but it's pretty easy to "add-on" :)
by warrenm on 5/2/23, 2:07 PM
What have you used in the past?
What are you using now?
Do you "have" to stay in webdev?
Where do you want to work (what's wanted/needed in Reno might be pretty different from Marrakesh or Bangkok)?
What size customers do you want to keep (suggestions for maintaining a rotating billet of 20 companies with fewer than 20 employees each will likely be [somewhat] different from wanting 1-2 "big" customers that'll keep you billing more-or-less half-to-full-time each on their own)?
by warrenm on 5/2/23, 2:09 PM
Honestly ... Windows servers aren't that expensive to run - they're not quite as lightweight as a Linux server can be, but they're not especially "expensive", either
The difference in a 4 CPU, 8 GB Windows box and a 4 CPU 8 GB Linux box is at most licensing ... but even that's minimal (commercial Linux support is basically the same cost as Windows)
by warrenm on 5/2/23, 2:11 PM
Need to define all those terms :)
"fast/efficient" to ... what? Run? Write? Maintain?
What is your benchmark for determining "fast" or "efficient"? Why that standard, and not another?
"scale well" ... how? In what direction? Take advantage of more cores? Take advantage of more server instances? Take advantage of better storage speed? How "scalable" do you think your development needs to be? 1m hits per second? 1000 hits per day?
by PaulHoule on 5/2/23, 2:03 PM
by warrenm on 5/2/23, 2:13 PM
If you've been programming as long as you say you have (and I have no reason to doubt you), then basically any language/framework will check this box
Python, Rust, PHP, Hare, Go, Ruby, Swift ... they're all accomplishing the "same" thing (albeit in slightly different implementational manners)
by pestatije on 5/2/23, 2:54 PM