8 ms·
I just learned Go 2 days ago and today I am already running my own web app! I love Go because it is kind of like C, but better (more modern).Generally, I alway
by chrisper 10y ago
I just learned Go 2 days ago and today I am already running my own web app!
I love Go because it is kind of like C, but better (more modern).Generally, I always program my stuff in Java, but whenever I have an idea of creating something I could only choose between: C, Java, bash. Obviously I am not going to use C and bash for most of my ideas. Thinking about solving my issues in Java is meh so often I decided it is not worth it to invest time. I feel like using Java for my ideas is like using a semi truck for roadtrips. It can be done, but it's just not very efficient having to launch the JVM everytime I want to do something small.
Yes, I was open to new languages, but I did not really care about: C++, Python, Perl, Ruby and so on because I never cared about web dev. Now I was bored and finally decided to learn Go.
- ufmace 10y agoI suggest giving Ruby a try too. I find it great for both web dev and local automation scripts. You can do pretty much anything you can do in bash but with clearer and shorter code. I've been writing all my non-trivial automation code in Ruby for years. Rails is just a popular web framework for Ruby, there's a lot more the language can do.
- jsmith0295 10y agoI'd second this. Rails is still probably the fastest way to get an MVP off the ground, and most of the time it's more than fast enough. You can get UX on par with a well done SPA almost entirely using server code with Turbolinks 5 + Action Cable, too.
- kowdermeister 10y agoThe fastest way to get an MVP off the ground is to use the tools you know best. It doesn't have to be Rails :)
- jsmith0295 10y agoYes, this is also usually true. But if you don't know tools that are particularly well suited for the job, or you just don't like them and are looking for something else to try, I would put Rails at the top of the list for productivity. (For most use cases)
- nathany 10y agoThe only problem is that you need to maintain and enhance that MVP for the next several years -- unless it's just a hackathon. I've spent way too much of my life trying to optimize Ruby performance and memory usage, switching from one web server to the next, then fixing threading issues in dependencies, and so on. It's not fun. All that upfront productivity is lost in the end. Quite happy to spend more time upfront investing in a reliable end-product.
- woah 10y agoIt's annoying to have to install the ruby interpreter onto everything. Go feels a lot like a scripting language, but produces binaries.
- deleted 10y ago[deleted]
- amorphid 10y agoAgreed. I recently transitioned from Rails development to devops, and there's no Ruby on any system by default. My Bash got better fast! Fortunately Elixir/Erlang releases include all the executables you'll need. They aren't quite as slick as Go binaries, which all live in one file, but it's still pretty cool.
- cookiecaper 10y agoThis is a hurdle, but IMO it's not too annoying if you already have rights to install packages. Just automate interpreter installation in bash if it's not already there. Way too much time and money is invested in fighting the esoteric crannies of Bourne shell when the logic would be much clearer in Ruby or Python. Ansible's moment in the sun is fading now that Docker came onto the scene, but that was a glorious moment. It's still very useful for anyone with long-running, non-removable machines. Ansible requires Python and allows a great deal of behavior to be defined in simple YAML instructions.
- vetinari 10y agoYou might have the right to install packages, but that may not solve your problem, that the application may require different version than available in the repo. The classical case is Ruby + Rails + Passenger + CentOS. While there is SCL with any Ruby and Rails version you might want, that does not mean, that the Passenger package will work with it :(.
- cookiecaper 10y agoYeah, if you can install packages, then you can run the RVM installation script and install the right version of Ruby. In fact, you don't even need admin privileges if you use RVM.
- hota_mazi 10y ago> I suggest giving Ruby a try too. If you like Go, I don't see much reason to try Ruby except intellectual curiosity. Ruby is clearly a language on its way out and it is not just a lot slower than Go, it's also dynamically typed.
- jsmith0295 10y agoWhy is it 'clearly' on its way out? IMO Rails is still the best web framework around, and the last release has really put it ahead of its closest competition.
- pjmlp 10y agoNot really, https://www.techempower.com/benchmarks/ https://www.techempower.com/benchmarks/
- jsmith0295 10y agoI wasn't making a statement about performance. That has very little to do with most web development.
- pjmlp 10y agoOn my little part of the world, performance always plays a role in web development. It is even described in many of the project contracts.
- nathany 10y agoUntil you have users. :-P For one example, check this comparison: https://dockyard.com/blog/2016/08/09/phoenix-channels-vs-rails-action-cable https://dockyard.com/blog/2016/08/09/phoenix-channels-vs-rai...
- artursapek 10y agoRuby is too forgiving, has multiple syntaxes for the same thing, and lets people do really obscure shit in a large codebase (monkey patching, hidden imports, etc). In short: it enables developer laziness. I've found Ruby code the hardest to debug over the years. Also, I think the web development community is waking up to the value of type safety. I will use Ruby for the occasional script because I like its backtick syntax for invoking other commands, but that's it.
- proyb2 10y agoAgreed on popularity but Kickstarter is slow and memory is still expensive. Shorter code isn't always a good idea when most Rail and Ruby developers can't tell between APIs. Swift is by far being the best all-rounder language and between the fastest and slowest.
- thewhitetulip 10y agoI think this will interest you, https://github.com/thewhitetulip/web-dev-golang-anti-textbook/ https://github.com/thewhitetulip/web-dev-golang-anti-textboo... It's an introductory book for learning how to write webapps without a framework. another book: https://github.com/astaxie/build-web-application-with-golang https://github.com/astaxie/build-web-application-with-golang