Не обязательно можно, неизвестно есть ли у списка функция создания из массива или нет.
Так в этом и смысл метапрограммирования, что даже если чего-то нет в стандартной библиотеке, то это всегда можно дописать.
Я написал этот комментарий секунд за 10.
Ну хз-хз, я его ради интереса просто перепечатал и то 30 секунд заняло) Впрочем, скорость набора давно уже ничего не решает в программировании, тут минимум 95% времени тратишь на то, чтобы решить, что именно набирать))
Но каждому своё. Раз вам нравится, то никто ж не запрещает.
Ну, кстати, да. Я когда его тестил даже не додумался писать какие-то магические комментарии. Он сам автодополнял код целыми кусками. На 3 с минусом дополнял, но в целом всё равно впечатляет)
Интересная трактовка эффекта Даннинга-Крюгера. Только в такой интерпретации он будет иметь фрактальный характер. Потому что вот эта стадия "готов к работе" - это по факту новый "пик глупости". Потому что человеку, который активно изучает программирование 3 года и уже даже работает программистом обманчиво кажется, что он всё понимает. А по факту он эдакий дилетант под прикрытием :)
Да, действительно интересно. Про школу речь не шла. Речь шла про предыдущие 14 лет, т.е. начиная с 26 лет в вашем случае. Наверняка ведь вы постоянно заходили на разнообразные сайты с 26 по 35 лет, даже скорее всего на ежедневной основе. Прям вообще было неинтересно как оно работает? И только случайные советы и курсы пробудили интерес к этой области?
При откидывании языков под JVM и .NET действительно остаётся не так много из относительно мейнстримовых (я определяю по наличию веб-фреймворка с кол-вом звёзд более 10k): Elixir, Go, NodeJS - которые под вашу задачу подходят.
Ну и знаменитая троица PHP, Python, Ruby, которые для игрового сервера не особо подходят.
Я один момент не понял в вашей истории: вы только на одно собеседование сходили как ВУЗ закончили? Что за город или хотя бы какого плана (население, областной центр или нет)? Имхо, в 2012 году проще всего было бы на стажировку куда-нибудь в Epam, Accenture или Luxsoft пойти, ну или в мелкую веб-студию, опыта набираться.
А второй вопрос: за 10 лет написали какие-нибудь pet-проекты для себя?
Так вот в этом и был изначальный вопрос, что побудило человека переключиться на абсолютно новую для него область? Осознаёт ли он масштаб сложности? Готов ли, как минимум, 3 года почти всё своё свободное время посвятить изучению этой области? Или это просто временная блажь под действием какой-то рекламы или ещё чего-то?
Далее - Scala, Rust, Julia иди Crystal не эзотерические. Вполне себе инструменты. NodeJS тем более. Но сравнивают почему-то с Elixir. Niff said.
У вас какая-то предвзятость к Elixir) Конкретно для веб-разработки он всё-таки популярнее Rust и уж тем более популярнее Scala, Julia и Crystal. Посмотрите хотя бы на те же звёздочки на Github для самых популярных веб-фреймворков на этих языках. А по опросу StackOverflow Phoenix вообще 1-е место в списке most loved фреймворков занял в этом году. Да и сам Elixir занял 2-е место после Rust в списке most loved языков.
Если говорить об оптимизации на низком уровне - лучше Pure C я пока ничего не встречал. Даже Rust просто даёт не защищённый режим, где вы можете сделать "быстро".
Тут ещё важный аспект, что либу на C или на Rust легко можно подключить почти к любому популярному ЯП через NIF или FFI. С Go такое не прокатит.
Сравнение Golang и Elixir: а почему именно Elixir?
Я, кстати, в 2015 году тоже именно такое сравнение устраивал. В моём сравнении победил Elixir, для веб-разработки он подходит гораздо лучше, чем Go. А за счёт применения возможностей OTP ещё и в скорости его обходит на большинстве практических задач. Веб-разработка она де-факто про ФП, и то что на неё под влиянием моды натянули ООП в стиле GUI-программ - это, пожалуй, один из самых больших косяков во всей этой отрасли. Пол Грэм ещё 20 лет назад всё объяснил, но большинство до сих пор отказывают себе в быстрой веб-разработке. Кстати, Elixir по сути своей является диалектом Lisp, и весь его синтаксис ничто иное, как DSL на этом лиспе написанный.
Насчёт Julia ничего не могу сказать. Не видел пока, чтобы её кто-то именно для веб-разработки использовал. А Crystal пока сыроват в плане конкурентности и параллелизма. Насколько мне известно, пока нет способа сделать так, чтобы программа на нём использовала, допустим, все 8 ядер процессора и нигде не сбоила.
Ну, сейчас рынок трясёт. В кризис даже хорошие джуны редко кому нужны, а уж стажёры после курсов ещё реже. Так что большинству выпускников курсов сейчас придётся снова профессию менять или к своей прошлой возвращаться.
Ну, кстати, я охотно верю, что у какого-нибудь майора или подполковника всё хорошо с управленческими навыками и директор из него может получиться вполне себе, только не технический.
Так тут нет универсального ответа или какой-то одной "священной" книги.
В зависимости от выбранного направления, выбираете 10 книг (благо готовых подборок в интернете сейчас завались) и читаете от простого к сложному, попутно выполняя практические задания. Через год будете понимать тему гораздо лучше, чем после курсов.
Так в этом и смысл метапрограммирования, что даже если чего-то нет в стандартной библиотеке, то это всегда можно дописать.
Ну хз-хз, я его ради интереса просто перепечатал и то 30 секунд заняло) Впрочем, скорость набора давно уже ничего не решает в программировании, тут минимум 95% времени тратишь на то, чтобы решить, что именно набирать))
Но каждому своё. Раз вам нравится, то никто ж не запрещает.
Понял о чём вы. Но это во-первых ортогонально метапрограммированию. Которое, например, может в первом случае формирование списка свести к
let list = LinkedList::from([1, 2, 3]);А во-вторых, есть ощущение, что у вас настолько длинные комментарии получаются, что уж быстрее код написать, чем такой комментарий ?
Ответ был не про то, что метапрограммирование - конкурент Copilot, а о том, что с его помощью легко устранить, как минимум, 90% boilerplate.
P.S. Не очень понял, какую сложность связных списков вы имели в виду. Довольно простая структура данных так то.
Спасибо за ответ. Интересный вариант.
Откройте для себя метапрограммирование через манипуляции с AST.
Ну, кстати, да. Я когда его тестил даже не додумался писать какие-то магические комментарии. Он сам автодополнял код целыми кусками. На 3 с минусом дополнял, но в целом всё равно впечатляет)
Интересная трактовка эффекта Даннинга-Крюгера. Только в такой интерпретации он будет иметь фрактальный характер. Потому что вот эта стадия "готов к работе" - это по факту новый "пик глупости". Потому что человеку, который активно изучает программирование 3 года и уже даже работает программистом обманчиво кажется, что он всё понимает. А по факту он эдакий дилетант под прикрытием :)
Да, действительно интересно. Про школу речь не шла. Речь шла про предыдущие 14 лет, т.е. начиная с 26 лет в вашем случае. Наверняка ведь вы постоянно заходили на разнообразные сайты с 26 по 35 лет, даже скорее всего на ежедневной основе. Прям вообще было неинтересно как оно работает? И только случайные советы и курсы пробудили интерес к этой области?
При откидывании языков под JVM и .NET действительно остаётся не так много из относительно мейнстримовых (я определяю по наличию веб-фреймворка с кол-вом звёзд более 10k):
Elixir, Go, NodeJS - которые под вашу задачу подходят.
Ну и знаменитая троица PHP, Python, Ruby, которые для игрового сервера не особо подходят.
Я один момент не понял в вашей истории: вы только на одно собеседование сходили как ВУЗ закончили? Что за город или хотя бы какого плана (население, областной центр или нет)? Имхо, в 2012 году проще всего было бы на стажировку куда-нибудь в Epam, Accenture или Luxsoft пойти, ну или в мелкую веб-студию, опыта набираться.
А второй вопрос: за 10 лет написали какие-нибудь pet-проекты для себя?
Так вот в этом и был изначальный вопрос, что побудило человека переключиться на абсолютно новую для него область? Осознаёт ли он масштаб сложности? Готов ли, как минимум, 3 года почти всё своё свободное время посвятить изучению этой области? Или это просто временная блажь под действием какой-то рекламы или ещё чего-то?
Вопрос был в том, почему не Nim? Он с вашими задачами тоже справился бы, но больше на Python похож и лишён многих недостатков Go.
У вас какая-то предвзятость к Elixir)
Конкретно для веб-разработки он всё-таки популярнее Rust и уж тем более популярнее Scala, Julia и Crystal. Посмотрите хотя бы на те же звёздочки на Github для самых популярных веб-фреймворков на этих языках. А по опросу StackOverflow Phoenix вообще 1-е место в списке most loved фреймворков занял в этом году. Да и сам Elixir занял 2-е место после Rust в списке most loved языков.
Тут ещё важный аспект, что либу на C или на Rust легко можно подключить почти к любому популярному ЯП через NIF или FFI. С Go такое не прокатит.
Я, кстати, в 2015 году тоже именно такое сравнение устраивал. В моём сравнении победил Elixir, для веб-разработки он подходит гораздо лучше, чем Go. А за счёт применения возможностей OTP ещё и в скорости его обходит на большинстве практических задач. Веб-разработка она де-факто про ФП, и то что на неё под влиянием моды натянули ООП в стиле GUI-программ - это, пожалуй, один из самых больших косяков во всей этой отрасли. Пол Грэм ещё 20 лет назад всё объяснил, но большинство до сих пор отказывают себе в быстрой веб-разработке. Кстати, Elixir по сути своей является диалектом Lisp, и весь его синтаксис ничто иное, как DSL на этом лиспе написанный.
Насчёт Julia ничего не могу сказать. Не видел пока, чтобы её кто-то именно для веб-разработки использовал. А Crystal пока сыроват в плане конкурентности и параллелизма. Насколько мне известно, пока нет способа сделать так, чтобы программа на нём использовала, допустим, все 8 ядер процессора и нигде не сбоила.
Статья то про выбор языка для компании. Так что аргумент так себе))
Ну уж для хобби-проекта переписали бы на Nim. К чему эти страдания с Go? :)
Тогда ещё и Elixir в список языков добавьте. А то Erlang есть, а Elixir нет. Печаль(
Ну, сейчас рынок трясёт. В кризис даже хорошие джуны редко кому нужны, а уж стажёры после курсов ещё реже. Так что большинству выпускников курсов сейчас придётся снова профессию менять или к своей прошлой возвращаться.
Ну, кстати, я охотно верю, что у какого-нибудь майора или подполковника всё хорошо с управленческими навыками и директор из него может получиться вполне себе, только не технический.
Так тут нет универсального ответа или какой-то одной "священной" книги.
В зависимости от выбранного направления, выбираете 10 книг (благо готовых подборок в интернете сейчас завались) и читаете от простого к сложному, попутно выполняя практические задания. Через год будете понимать тему гораздо лучше, чем после курсов.