LINUX.ORG.RU

А куда, если не в веб?

 , ,


3

4

Хай, Лор. Давно сюда не писал, многое поменялось, многое перепробовал.

Но вот незадача - присутствует чувство, что всё идёт сейчас в веб. Я уже было смирился с этой мыслью, но тут начинается…Чертов фронтенд. Вот не нравится мне размечать документы и объяснять машине по полчаса, почему и какая кнопка, где должна находиться.

Хотелось бы такую отрасль, в которой я бы смог набивать руку на фрилансе, но чтобы это не было связано с этим визуальным рукоблудием.

Подскажите, есть ли истории успеха? Что-то алгоритмическое/техническое? Буду рад всем отписавшимся по вопросу.

Ответ на: комментарий от ism

Не хочу париться с управлением памятью и прочим В Pascal с этим проще, да и синтаксис приятней, оно даже чемто напоминает Python

а паскаль стал мусоросборочным уже? чета сомнительно. там те же проблемы что с плюсами будут.

alysnix ★★★
()
Ответ на: комментарий от alysnix

Паскаль такой же как и был, сейчас точно не вспомню(писал 5 лет назад) но управление созданием объектов, переменные и прочее не вызывало такого геморроя, как в C++

ism ★★★
()
Ответ на: комментарий от alysnix

Да, частично. Там можно сделать reference counting, или ещё есть система родителей, типа как в qt, указываешь родителей, и в конце в ручную только основной объект освобождаешь, а все дети сами освободятся

fsb4000 ★★★★★
()
Ответ на: комментарий от alysnix

я однажды получил строк 300 кода, на котором был реализован конечный автомат, читающий какой-то протокол, с целью его несколько изменить

Проще переписать. Мудаки, которые до сих пор пишут конечные автоматы, еще существуют, так что это реальность, с которой приходится мириться. 300 строк - не так много, зато потом даже минимальное изменение будет проще сделать, а иначе у тебя нет гарантии, что ты правильно его модифицировал.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Это с какого перепоя миллион строк - «средний масштаб»?

Средний масштаб - это тысяч 50..100 строк. То, что реально сделать в одиночку за пару лет работы.

anonymous
()
Ответ на: комментарий от fsb4000

Да, частично. Там можно сделать reference counting, или ещё есть система родителей, типа как в qt, указываешь родителей, и в конце в ручную только основной объект освобождаешь, а все дети сами освободятся

ну в плюсах еще более аналогично. но если мусоросборки нет, то это все полумеры. но мусоробсорка это лишняя активность и тормоза, плюс наворочаный рантайм. это нехорошо.

alysnix ★★★
()

А куда, если не в веб?

Я тоже спрашиваю. После того, как метапрога анально огородили, куда теперь писать анону, если не веб.

anonymous
()
Ответ на: комментарий от byko3y

Мудаки, которые до сих пор пишут конечные автоматы

Мудаки - это те, кто пихает РТОСь куда ни попадя! А нормальные люди реализуют все, что нужно, на конечных автоматах. Все-таки, зачем на микроконтроллер РТОСь совать, если нет необходимости в многозадачности?

Для ПК несколько иначе: здесь уже есть ОСь (иначе как-то не очень), поэтому под линуксом проще в многозадачность, чем в КА. Хотя, конечно, можно и через КА кое-что простое сделать, чем синхронизировать задачи!

anonymous
()
Ответ на: комментарий от ism

Потому, что щас решает удобство, все языки приблизительно похожи

Ну ты только что показал на своем примере, как Паскаль неудобен, что потребовалось ему подпорку на другом ЯП лепить.

seiken ★★★★★
()
Ответ на: комментарий от anonymous

Средний масштаб - это тысяч 50..100 строк. То, что реально сделать в одиночку за пару лет работы

А тебе не кажется, что одиночный проект — это уже автоматически «мелкий масштаб»?

byko3y ★★★★
()
Ответ на: комментарий от seiken

Нет, просто на новом месте работы писали все на веб и не способны ни на что другое. А то бы запилил нормальный гуй с нормальной скоростью.

Щас у них серваки падают время от времени изза пожирания памяти питоном :) 10 раз переписывал чтоб не жрало, а вот со скоростью в питоне не решить никак

ism ★★★
()
Последнее исправление: ism (всего исправлений: 2)
Ответ на: комментарий от alysnix

ну в плюсах еще более аналогично. но если мусоросборки нет, то это все полумеры. но мусоробсорка это лишняя активность и тормоза, плюс наворочаный рантайм. это нехорошо

Мусоросборка бывает разная. Как я понимаю, вы говорите про высвобождение циклических объектов. Однако, есть алгоритмы, которые не умеют высвобождать циклический мусор, и они не имеют лишней активности и тормозов, при этом гарантируют отсутствие доступа к высвобожденной памяти. По сути эта крайность была вызвана зашкаливающей ублюдочностью C++, которая порождала чудовищное кол-во ошибок работы с памятью с абсолютно любыми вариантами безопасных инструментов работы с памятью, поскольку кресты фундаментально небезопасны, но это не связано с наличием-отсутсвием сборки циклического мусора. Добавьте в кресты сборщик мусора — и вы все равно не сможете уйти от его небезопасности, потому сборщик мусора на самом деле не означает безопасность.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

300-500-1000 тыс строк.

это ни о чем. одно дело, когда 100 тыщ строк разбиты на пару десятков ограниченных подсистем с четким взаимодействием - и ты никогда не вываливаешься на уровень анализа взаимной работы сотен тыщ строк кода. другое дело когда эти 100 тыщ строк - это запутанный, неиерархичный код, который запутали настолько, что его проще в мусорку кинуть.
в таких масштабных проектах главное не кодирование и строки, а архитектурирование и модульность.

alysnix ★★★
()
Ответ на: комментарий от alysnix

одно дело, когда 100 тыщ строк разбиты на пару десятков ограниченных подсистем с четким взаимодействием - и ты никогда не вываливаешься на уровень анализа взаимной работы сотен тыщ строк кода. другое дело когда эти 100 тыщ строк - это запутанный, неиерархичный код, который запутали настолько, что его проще в мусорку кинуть

Вот ты снова пишешь так, будто даже с 300 тыс не работал. Ты просто не сможешь написать их по другому, потому что ни один програмист не сможет на достаточном уровне запомнить всю систему, чтобы работать с ней как с монолитом — модульность сама собой подразумевается. А вот как и что дальше делать — это и есть основная работа.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

я работал архитектором(в качестве паралельнорй активности с кодингом) и колбасил на UML масштабные проекты, те самые что кодила команда. и что? в том и задача архитектора, чтобы вычленить компонтенты, либы, модули, написать к ним интерфейсы, возможно инварианты, и рестрикты, а потом сгенерить хидеры и заглушки реализации, и раздать команде. а потом контролировать процесс. у нас работали так. фактически обычный разраб превращался в кодера классов и функций, которые ему выдали в виде плюсового кода, ему надо только тела этих функций реализовать.

alysnix ★★★
()
Ответ на: комментарий от alysnix

я работал архитектором(в качестве паралельнорй активности с кодингом) и колбасил на UML масштабные проекты, те самые что кодила команда. и что? в том и задача архитектора, чтобы вычленить компонтенты, либы, модули, написать к ним интерфейсы, возможно инварианты, и рестрикты, а потом сгенерить хидеры и заглушки реализации, и раздать команде. а потом контролировать процесс. у нас работали так. фактически обычный разраб превращался в кодера классов и функций, которые ему выдали в виде плюсового кода, ему надо только тела этих функций реализовать

Правда тебя огорчит, потому я передумал ее писать

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Правда тебя огорчит, потому я передумал ее писать

я тебе показал пример как сойти с ума на 300 строках, и как можно не сойти с ума на сотнях тыщ. потому считать производительность в строках неуместно, а кодить безбашенно, без тщательной проработки архитектуры - неразумно. от этого все зло,и программистские байки - как я искал баг три месяца нашел его! и нытье - у нас система огромная, вся в костылях и разваливается. потому что если собрать в коллектив десяток ошалевших от знания с++ граждан, и заставить их кодить… будет костыльная система, что развалится в конце концов.

alysnix ★★★
()
Ответ на: комментарий от byko3y

Не кажется.

И вообще, я никогда не работал в команде. И не собираюсь этого делать. Быстрее самому все сделать, чем паре студентов объяснять, что ты от них хочешь!

anonymous
()
Ответ на: комментарий от seiken

Да хоть на черта лысого, главное чтоб выполнял все как надо.

Но нет, заставляют вебсервер выполнять функции десктопного софта

ism ★★★
()
Последнее исправление: ism (всего исправлений: 1)
Ответ на: комментарий от byko3y

Не надо бредить. На современных языках в 30-100 тысяч строк огромный вагон фич влазит, если юзать фреймворки и не заниматься оверинженерингом. Это и есть средний проект.

Тебе, видимо, всё же построчно платят.

WitcherGeralt ★★
()
Ответ на: комментарий от pihter

он адекватнее «современного» и я готов это аргументировать.

Тогда лучше сразу перейти к аргументам, а не распыляться на оффтоп и твою нетерпимость к коротким штанам.

Из того, что уже было высказано, нужно:

  1. один бинарь на выходе - странное требование, даже для 1995-7гг., когда Delphi конкурировал с VB;

  2. быстрый - что «быстрый»? Скомпилированный код? С++ тоже быстрый. У C# был вроде АОТ и для многих десктопных приложений вполне хватает; Это опять аргумент из 90х, когда Delphi конкурировал с VB;

  3. был GUI; Это опять аргумент из 90х, когда Delphi конкурировал с VB, и у них обоих были RAD с формошлепством и VCL, а для С++ были менее удобные RAD с MFC и OWL.

seiken ★★★★★
()
Ответ на: комментарий от byko3y

и какие предложите альтернативные строкам кода мерки производительности разработчика?

Q: Как я могу измерить производительность разработчика?

А: Лол, ты не можешь. https://martinfowler.com/bliki/CannotMeasureProductivity.html

Когда речь идет о системах, обучающихся с подкреплением, работает очень простое правило: ты получишь то, что будешь вознаграждать. Буквально. Строки кода — значит, будут тебе строки кода, охапками. Количество задач — значит, будешь завален тоннами однострочных задач.

Какие еще будут шыкарные идеи?

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 2)
Ответ на: комментарий от byko3y

Я в начале февраля взял гиблый проект на грани закрытия, целиком состоящий из бестолковой лапши. Спустя месяц он похудел на несколько тысяч строк кода, а нового я написал ну отсилы косарь, скорее всего меньше. При этом проект теперь рабочий и готов в прод.

Внимание вопрос. Моя производительность отрицательная?

WitcherGeralt ★★
()
Ответ на: комментарий от Nervous

Все нормальные пацаны так делают, ну чего ты докопался-то!

WitcherGeralt ★★
()
Ответ на: комментарий от anonymous

Быстрее самому все сделать, чем паре студентов объяснять, что ты от них хочешь!

Если нужно сделать много, то сам просто не успеешь сделать. Ну а проблема кадров актуальна, в этом я не спорю. Можно же найти и людей, которые сами тебе объяснят, что нужно сделать.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

Категорически не понимаю наезда на конечные автоматы

Если автомат сложнее, чем «пройти строго последовательно по шагам», то внезапно выясняется, что его тяжело понимать, его тяжело сочетать, и современные компиляторы не могут его оптимизировать. Классика жанра:
https://ru.wikipedia.org/wiki/Устройство_Даффа
Выкидываем автомат, и внезапно код становится проще, чище, и работает быстрее. В современной разработке софта самой большой ценностью является именно простота и скорость разработки. В случае автоматов код становится тяжелым только в том случае, если вход в один и тот же кусок кода происходит из нескольких контекстов — почему я и упоминал про «пройти строго последовательно по шагам», ведь именно этот вариант прост для понимания, поскольку начальный контекст для каждого шага один и тот же. На самом деле, компиляторам тяжело понимать сложные конечные автоматы ровно по той же причине.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Можно же найти и людей

В фантастических снах? Специалист на микрозарплату работать не пойдет. А студенты нынче такие тупые, что нет никакого смысла тратить время, пытаясь их чему-то обучить.

anonymous
()
Ответ на: комментарий от byko3y

Если что-то проще сделать автоматным программированием, то это и нужно делать автоматным программированием!

И вообще, даже при работе в параллельных процессах часто появляется нужда в конечных автоматах! Просто теперь эти автоматы замаскированы под сигналы-слоты, разобраться в которых на пару порядков сложней, чем даже в самом запутанном автомате!

anonymous
()
Ответ на: комментарий от WitcherGeralt

Не надо бредить. На современных языках в 30-100 тысяч строк огромный вагон фич влазит, если юзать фреймворки и не заниматься оверинженерингом. Это и есть средний проект.

Если ты посмотришь на какую-то либу, допустим, для JS, то увидишь, что значимые либы весят порядка 20 тыс строк, например, Vue, Prosemirror, date-fns, chart.js. То есть, просто один модуль, выполняющий свою функцию - это уже 20 тыс строк. Это и есть маленький размер, это пишется в одно рыло за несколько месяцев. Два модуля - 40 тысяч, пять модулей - сто. Это уже больше года работы одного человека, и стоимость разработки, приближающаяся к стоимости простоенького автомобиля. Когда стоимость разработки становится хотя бы один BMW/Mercedes D-класса, то это уже средний размер. Верхнюю категорию здесь я задаю по размеру любой крупной софтины, будь то внутренняя разработка какого-то завода/банка, или же крупные публичные проекты вспомогательных инструментов, вроде ядра Linux, Oracle/My SQL/Postgresql/Firebird RDBMS, Docker, GCC, Emacs — короче говоря, проектов, которыми занимается много людей много времени, которые в принципе неподсильны одному единственному человеку.

Тебе, видимо, всё же построчно платят

Я повременщик, мне всё равно, сколько строк писать.

byko3y ★★★★
()
Ответ на: комментарий от Nervous

Когда речь идет о системах, обучающихся с подкреплением, работает очень простое правило: ты получишь то, что будешь вознаграждать. Буквально. Строки кода — значит, будут тебе строки кода, охапками. Количество задач — значит, будешь завален тоннами однострочных задач

Да, потому есть смысл сравнивать сложность двух систем по строчкам кода при условии, что они писались в похожем стиле и давления на кол-во строк кода не осуществлялось. Практические наблюдения показывают, что даже написанный на совершенно разных языках разными людьми код под одно и то же задание по кол-ву строк различается максимум в 3 раза, с максимальной разницей между чем-то вроде топорного решения на Python и обычного на C++. Естественно, всё это при условии отсутствия давления.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Кто в своем уме будет на жабоскрипте что-то серьезное писать? А о клиентах ты подумал? Если эта портянища в 40тыс строк загрузится в браузер, оно ж тормозить будет как не в себя!..

Поубивал бы любителей пихать больше пары сотен строк жабоскрипта на веб-странички!

anonymous
()
Ответ на: комментарий от WitcherGeralt

Я в начале февраля взял гиблый проект на грани закрытия, целиком состоящий из бестолковой лапши. Спустя месяц он похудел на несколько тысяч строк кода, а нового я написал ну отсилы косарь, скорее всего меньше. При этом проект теперь рабочий и готов в прод
Внимание вопрос. Моя производительность отрицательная?

Нет. Ты за месяц написал тысячу строк переработки старого незнакомого тебе кода (10-20 тыс строк?) — это вполне приемлимый темп.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

В фантастических снах? Специалист на микрозарплату работать не пойдет. А студенты нынче такие тупые, что нет никакого смысла тратить время, пытаясь их чему-то обучить

Студни всегда были тупыми в среднем по палате. Хороших прогеров тяжело искать в принципе, но они есть в самых разных ценовых диапазонах.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

Если что-то проще сделать автоматным программированием, то это и нужно делать автоматным программированием!

Что? Сказал «а» — говори «б».

И вообще, даже при работе в параллельных процессах часто появляется нужда в конечных автоматах! Просто теперь эти автоматы замаскированы под сигналы-слоты, разобраться в которых на пару порядков сложней, чем даже в самом запутанном автомате!

Ну ты сам по сути подтвердил, что автоматы крайне неудобны.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

Кто в своем уме будет на жабоскрипте что-то серьезное писать? А о клиентах ты подумал? Если эта портянища в 40тыс строк загрузится в браузер, оно ж тормозить будет как не в себя!..
Поубивал бы любителей пихать больше пары сотен строк жабоскрипта на веб-странички

Посмотри на google docs, например. У них текстовой редактор - порядка 400 тысяч строк. И ничо, работает вполне шустро на современных браузерах. Современные JS-движки выполняют JS примерно со скоростью Java, что есть вполне приемлимо для выполнения 400 тыс строк. Ну и давай не забывать, что весь код не грузится одновременно.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

работает вполне шустро на современных браузерах

Угу, угу... У меня 100-страничный документ быстрей отлатешится на компьютере, чем я в гуглодоках «переверну страничку»!

Я вообще не понимаю этого прикола с гуглодоками... Это - пособие для даунов, не осиливших vcs?

anonymous
()
Ответ на: комментарий от byko3y

10-20 тыс строк?

Чуть больше.

Ну, то есть ты понимаешь, всё от задачи зависит и количество строк на самом деле ничего не отражает в отрыве от контекста.

WitcherGeralt ★★
()
Ответ на: комментарий от byko3y

Так код не только писать, но ещё и поддерживать нужно, документацию писать тесты, ресерчем иногда заниматься, планированием, а сколько времени на обсуждения с коллегами уходит — вообще караул.

WitcherGeralt ★★
()

В Java server-side. Других вариантов в РФ приемлемых нет.

anonymous
()
Ответ на: комментарий от anonymous

У меня 100-страничный документ быстрей отлатешится на компьютере, чем я в гуглодоках «переверну страничку»!

На чем ты эту страничку переворачиваешь? На Дюроне 1400 с фаерфоксом первых версий? У меня 20-страничный док вместе со страницей загружается за 13 секунд, после этого листается безупречно. FF 68.5.0.

Я вообще не понимаю этого прикола с гуглодоками... Это - пособие для даунов, не осиливших vcs?

При чем тут VCS?

byko3y ★★★★
()
Ответ на: комментарий от byko3y

У меня 20-страничный док вместе со страницей загружается за 13 секунд

Просто позор. В век гигагерцев оно пулей должно грузиться, а не как двадцать лет тому.

anonymous
()
Ответ на: комментарий от byko3y

При чем тут VCS?

При том, что гуглодоки имеют одну-единственную цель: совместное редактирование документов. У нормальных людей это решается просто: кладем исходники теховские на гитхаб/сосфорж/и т.п., да редактируем себе...

«Офис» - ненужное говнище, разработанное для дебилов, у которых рука к мыши приросла!

anonymous
()
Ответ на: комментарий от byko3y

20-страничный док вместе со страницей загружается за 13 секунд

Если веб-страница грузится дольше трех секунд, пользователь ее закрывает и больше никогда на это тормозное говно не ходит!

anonymous
()
Ответ на: комментарий от anonymous

Если веб-страница грузится дольше трех секунд, пользователь ее закрывает и больше никогда на это тормозное говно не ходит!

Врунишка! Ждем столько сколько нужно. Особенно гей порно сайты.

Владимир

anonymous
()

На одеске/апворке есть куча предложений по чему угодно, от админства до дизайна. Есть куча предложений, например, где хотят, чтобы им кто-то на спарке или на тензорфлоу написал непонятно что, главное, чтобы мл был. Дата саенс, опять же. Там тебе и алгоритмы, и подумать. Правда, сразу все хотят опытных исполнителей, придется начинать с копеечных проектов, чтобы набить руку и пунктов в резюме/портфолио.

cdshines ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.