Здравствуйте. Хоть у меня вопрос по го, вкратце расскажу свой путь разработчика. Да, и еще, чтобы быть полностью откровенным упомяну: мне 16 лет. Программированием я заинтересовался в 9 лет, и с тех пор не могу оторваться. Дело в том, что я не из той "школоты", которые клипают один за одним сайты на вордпрессе, или пишут 88код на php + html. Я прошел такой путь: pascal(месяца три, помог мне с основами программирования) -> html, css, php -> c(три года назад) -> c++(спустя два месяца после начала обучения си решил, что целесообразнее будет учить плюсы) -> java (после того, как постиг основы ооп; в джаве после того, как через месяцев 7 захотелось познакомиться с EE, сразу перехотелось вообще учить дальше; оно было очень громоздкое) -> php -> python (плюс немного Django) -> php(с питоном дела шли еще не очень хорошо, а понадобилось написать систему тестирования на тысячи две с половиной строк кода для школы) -> RoR(фреймворк потрясающий, но перестал его рассматривать так как: проблемы с производительностью, он популярен сейчас, а такое не будет продолжаться вечно, а мне еще учится) -> Play framework + Scala(все шло очень хорошо, еще один веб проект, пока не дошло до углубления в скалу; хоть язык мне и понравился, но: он слишком сложный - это раз, в нем слишком много возможностей, приходится выбирать, не знаешь какая лучше; проблемы с concurrency по сравнению с го) -> и вот, наконец, го. Он мне сразу понравился. И вот, после двух с половиной месяцев изучения го у меня вопрос: я хочу написать масштабный веб проект. я буду его писать не в одиночку, но за бэкенд буду отвечать только я. Во всяком случае, на первых порах. Проект совершенно новый, аналогов ему нету. Не буду раскрывать идею, скажу только что будут частые запросы базы данных. Информация, во всяком случае поначалу, будет только текстовая, и немного картинок. Но будет много запросов к базе данных. Я бы мог написать его на пхп намного быстрее чем на го, но я хочу не просто написать сайт, я хочу построить именно масштабный веб проект, будто его будут использовать миллионы людей (хотя так вряд ли произойдет; но зато будет опыт). Хочу разделить веб приложения на 4 слоя, ну там фронт энд, application logic , back end, datastorage. Вопрос: могу ли я использовать как серверный язык для такого предназначения Golang? Даст ли он мне прекрасную производительность, и не будет ли проблем с отсутствием библиотек или возможностей языка, что приведет к невозможности продолжения написания проекта? Какие советы можете дать мне по строению высоконагруженого сервиса? И, какую лучше использовать бд: Sql или nosql. В курсе что на хэшход использовали postgresql, но мало ли. Есть очень неплохие драйвера и для nosql, к примеру Mgo , и для редиса видел. Мне очень важно знать ваше мнение.
Ответ
могу ли я использовать как серверный язык для такого предназначения Golang? Еще как можете, Go для этого предназначен. Даст ли он мне прекрасную производительность Это только от вас зависит, как напишите так и "поплывет". не будет ли проблем с отсутствием библиотек или возможностей языка Даже затрудняюсь предположить, что-же такое вам может понадобится чего нельзя реализовать в Go? Но вот небольшая подборочка, вполне возможно вам что-то из этого пригодится. https://github.com/bolknote/go-gd https://github.com/go-sql-driver/mysql https://code.google.com/p/go-charset/ https://github.com/andelf/go-curl
Комментариев нет:
Отправить комментарий