Hello. Although I have a question about go, I will briefly tell my way of the developer. Yes, and also to be completely frank, I will mention: I am 16 years old. I became interested in programming when I was 9 years old, and since then I can not tear myself away. The fact is that I am not from that “shkoloty”, which clip one by one websites on WordPress, or write 88 code in php + html. I walked this way: pascal (about three months, helped me with the basics of programming) -> html, css, php -> c (three years ago) -> c ++ (two months after starting the training, X decided that it would be more appropriate to learn the advantages) -> java (after I learned the basics of the OOP; in Java, after 7 months I wanted to get acquainted with EE, I immediately reluctant to learn further; it was very cumbersome) -> php -> python (plus some Django) -> php (with the python, things were not going very well, but it took to write a testing system for thousands of two and a half lines of code for the school) -> RoR (framework awesome, but stopped to consider it as: performance problems, it is popular now, and this will not last forever, but I'm still learning) -> Play framework + Scala (everything went very well, another web project, until it reached recesses in the rock, although I liked the language, but: it is too complicated - this time, there are too many possibilities, you have to choose, you don’t know which one is better; problems with concurrency compared to go) -> and finally, go. I liked him immediately.
And now, after two and a half months of studying my question, I have a question: I want to write a large-scale web project. I will not write it alone, but only I will answer for the backend. In any case, at first. The project is completely new, it has no analogues. I will not disclose the idea, I will just say that there will be frequent database queries. Information, at least in the beginning, will be only textual, and some pictures. But there will be a lot of database queries. I could write it on PCP much faster than on go, but I want to not only write a website, I want to build a large-scale web project, as if it will be used by millions of people (although this is unlikely to happen, but there will be experience). I want to divide the web application into 4 layers, well, there is a front end, application logic, back end, datastorage. Question: Can I use Golang as server language for this purpose? Will it give me excellent performance, and will there be problems with the lack of libraries or language features, which will make it impossible to continue writing the project?
What advice can you give me on the structure of high-loaded service? And, which is better to use DB: Sql or nosql. In the course that hashhod used postgresql, but you never know. There are very good drivers for nosql, for example, Mgo, and for radish seen.
It is very important for me to know your opinion.