3 ms·
I don't know. As a single developer house, I have a behemoth of a project. Started out with PHP, then used Python for the backend (php sucks as daemons). Exp
by no1youknowz 11y ago
I don't know. As a single developer house, I have a behemoth of a project.
Started out with PHP, then used Python for the backend (php sucks as daemons). Expanded to NodeJS for real-time elements. Used JS exclusively for the front-end. When I found python not working as it should be for heavy concurrent tasks, I used Go.
So PHP, Python, NodeJS, Go, JS all for 1 project. Couple this with NoSQL, Postgres, Varnish, Nginx and being a linux sys-admin and throw in clustering, security and a whole lot of other things. Wow, something has to give.
4 months ago decided to learn Go. Now I'm almost at the point where I have a JS front-end and Go backend.
I regularly see complaints about Go having issues. I don't see this as the case. I went from PHP/Codeigniter MVC backend including sessions, validation, integration with nodejs using historyJS and a small JS footprint for the front-end SPA...
To a couple of days worth of work which involved grabbing GIN (the framework), make it do MVC, put in JWT, use GIN for validation and Gorilla/websockets for real-time.
There are many blogs, code samples on github, for a lot of different use-cases or to get the gist of how something is supposed to work. I havent yet found myself not being able to do what I need with Go.
I think what is the sticking point. A lot of developers want to import packages and just build the core of their app. I don't know. I find myself WANTING to build everything out because then I can trust that it will work and work in production. So if a library isn't available. Fine, I'll just build my own.
In fact, the net benefit for me, was that I no longer need to think about scaling my entire application. I made every facet of my old application into micro services that can now be clustered. In addition, the overhead for running Go is now very minimal. The outlay of $$$ each month dramatically went down vs running PHP/Python.
Finally yes, I understand that if I wanted to double down with Python or NodeJS, I could have probably achieved the same result. I'm sure someone will reply saying, why didn't you use X or why didn't you use Y. The fact is, I used Go. The barrier to entry to learn it was minimal to none. I hit the ground running with Go on day 3. Go has paid back lots of dividends and it continues to do so. All my new development is with Go and I don't miss any of the other languages and not only that, upgrading from 1.4 to 1.6 hasn't bothered me in the slightest. I hope that trend continues with 1.7 and 1.8 and beyond. Oh and getting http2, better GC and other goodies to boot. May that trend also continue.
I think in the next 5 years, things will be different. I think if Go starts to match the number of libraries Python has, it will be different. At this point, yes, Python may well be dying.
- dcu 11y agoI completely agree with you and I had the same experience. Once you know the Go concepts (which are very few and simple) Go is not harder to write than Python. Probably easier to write and read. I came to the conclusion that people who complain about Go haven't really try it.