Re[5]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 26.07.21 11:42
Оценка:
Здравствуйте, TimurSPB, Вы писали:

MS>>С/C++ еще более кроссплатформенные,

TSP>до первого #include "windows.h"

Платформ-специфик код в кроссплатформенных приложениях бывает, и?


MS>>на С/С++ еще больше библиотек.

TSP>Вот только там не pip install, а боль и страдания поддержки кучи зависимостей под все целевые платформы с помощью conan или иных витееватых систем.

CMake сейчас стандарт даже для Boost-а.
Re[6]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 26.07.21 11:46
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>double[] SolveQuadratic(double a, double b, double c)


Лучше так:
(double x1, double x2) FindRoots(double a, double b, double c)
Re[13]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 26.07.21 12:21
Оценка:
Здравствуйте, Serginio1, Вы писали:

V>>По-сути, пока выкатили эксперимент и пытаются собирать хоть какой-то фидбэк.

S> Ну для UWP то уже как года 4 прекрасно работает .Net Native

Да, для UWP.


S>Просто в Core RT они хотят и среду подключить


Я уверен, что рано или поздно нормальный AOT к .Net прикрутят для всех поддерживаемых платформ.
Но не в ближайшие пару лет — тут я готов забиться на спор. ))
Re[26]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.07.21 13:04
Оценка:
Здравствуйте, kaa.python, Вы писали:

I>>И что с того? Факт в том, что даже топовые специальности дают мизер этих самых С++. И это больше, чем дадут все заборостроительные вместе взятые. Просто потому, что порог вхождения в С++ высок даже по меркам топовых специальностей.


KP>Столько пафоса... Дай угадаю, ты закончил "прикладная математика с информатикой"


Не угадал. Я там преподавал два года а сверх этого еще 15 лет проводил собеседования — разные страны, города, вузы, и тд.
Re[14]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 26.07.21 13:13
Оценка:
Здравствуйте, vdimas, Вы писали:

S>>Просто в Core RT они хотят и среду подключить


V>Я уверен, что рано или поздно нормальный AOT к .Net прикрутят для всех поддерживаемых платформ.

V>Но не в ближайшие пару лет — тут я готов забиться на спор. ))
Посмотрим как Блазор с AOT пойдет. В большинстве то он для него больше нужен.
Но потому как долго CoreRT развивается 2 года это минимум. Хотя бОльшая проблема это отображение и динамическая компиляция.
С приходом Source Generator многие проблемы исчезнут
https://devblogs.microsoft.com/dotnet/try-the-new-system-text-json-source-generator/
и солнце б утром не вставало, когда бы не было меня
Re[12]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.07.21 07:59
Оценка: :)
Здравствуйте, vdimas, Вы писали:

V>Лет 25-30 лет назад менйстримом был, скорее, С, и тогда, действительно, многие программисты осваивали С++ самостоятельно.

V>Но уже 20 лет назад из ВУЗ-ов выходили вполне подготовленные плюсовики (это которые планировали работать по специальности, которых менее трети обычно).

Не смеши людей. На виртуальных функциях резалось примерно 80%.

I>> С тех пор лучше не стало —

I>>1 язык стал сложнее,

V>Плюс даже при наличии книги на руках, в электронном её виде поиск в ней на порядки эффективнее.


Сравнивая с другими технологиями, С++ отстал даже здесь.

V>В общем, сейчас натурально любая информация доступа буквально на кончиках пальцев.

V>От формулирования вопроса в голове до получения ответа на экране зачастую проходят считанные секунды.

Для обучения нужно писать, а не гуглить. И даже с гуглением С++ отстаёт от других технологий.

I>>2 относительно простые области для входа, типа десктоп, мобайл, веб — всё это почти полностью потеряно для С/С++


V>Для свистоперделок, разве что.


Это называется технологический снобизм.

V>Основные используемые приложухи или основной код в них — всё-равно нейтив.

V>Даже на мобилках. ))

Основной код это та самая бизнес-логика — деньги платят именно за это. А вот твой нейтив купят только в том случае, если некто на Жээсе напишет полезную бизнес-логику.
То есть, именно бизнес-логика оплачивает все твои приседания.
Нету полезной бизнеслогики — весь твой найтив сливается на помойку, какой бы он распрекрасный ни был.

Скажем, именно по этому так популярен Nginx — это шикарная платформа для целого класса полезных для бизнеса решений.
Сам nginx это один проект, а на нём реализованы десятки тысяч.

V>Я совершенно не против повышения ЗП для плюсовиков.

V>Но т.к. гипертрофированного такого повышения не происходит, то рынок с тобой не согласен — спецы всё еще есть в большом кол-ве.

Ты чуть ниже сам себя опроверг.

V>Относительная доля разработчиков на С/С++ за последние 3 года упала примерно на 3%, но абсолютное их кол-во выросло.

V>Т.е. индустрия всё еще растёт, если растёт общий рынок труда.

Это значит, что доля С++ продолжает скукоживаться.

V>И да, медианная ЗП дотнетчиков и JS-пограммеров догнала медианную ЗП плюсовиков только к 2020-му году.


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

V>Сама отрасль С++ держится на опытных спецах со стажем 15+..20+ лет, а там ЗП далеки от медианных.


Вот и объяснение, откуда такая разница — сравниваешь людей с 20ю годами опыта и вчерашним студентом.

I>>То есть, когда в мейнстриме, можно искать "под ключ", т.к. кандидатов на нужной технологии валом, т.е. фокус на компетенции.


V>Но мне даже лень указывать на то, что среди JS-программистов специалистов и вовсе кот наплакал.


Тут надо вспомнить, что ты три года кряду не мог понять, откуда в nodejs берется недетерминизм и те самые гонки.
Можем повторить:
file.read(x, callback1)
file.read(y, callback2)

Как по твоему, можно ли ожидать, что callback1 будет всегда вызываться перед callback2 ?

V>И там высокие ЗП не совсем у JS-программистов, а у илиты этой области — у интеграторов с другими технологиями.

V>У тех, кто пишет модули для node.js или создаёт платформы, типа electron и другую россыпь похожих их.

Этой илиты единицы. Их ЗП в общей массе погоды не делает.

Низкая средняя ЗП говорит о том, что в жээс приходит много людей буквально с улицы.

I>>Когда вышли из мейнстрима, нужно смещать фокус на потенциал и интерес к проекту, а не гнаться за компетенциями.


V>Компетенция не нужна только в свистоперделках.


Неуёмный снобизм.

I>>Отсюда ясно, что в данное время мягко говоря неразумно искать студента, который в С++ умеет все сразу да искаропки.

V>Как и на любой другой технологии.

В других технологиях порог вхождения гораздо ниже, а раз так, то появляются другие варианты.

V>Угу, например, ABBY, Yandex, МЦСТ и прочие имеют в ведущих наших ВУЗ-ах свои кафедры, где обучают студентов с 3-го курса, и лучшие из них уже с 3-го курса в этих компаниях работают, разрабатывают Эльбрус или крутят ИИ для Яндекса. У меня с некоторыми такими студентами самая непосредственная родственная связь, будет интересно — спрашивай.


Именно — в с++ это почти единственный способ найти внятных сиплюсников. Хождение по рынку больше не даёт эффекта, а потому остаётся прочесывать самые топовые специальности и надеятся, что с одного потока тебе достанется один-два таких, что задержатся у тебя хотя бы на 5 лет.

I>>Ежу понятно, что на все конторы такого варианта просто не хватит, спрос слишком большой.


V>Так большой или маленький? ))


Большой. Это видно по ЗП. Ты сам говоришь, что ЗП высокая, но, похоже, не догоняешь, как на это соотношение спроса-предложения влиет.

V>Я так думаю, что рынок, наоборот, перенасыщен С/С++ программистами.

V>https://trends.rbc.ru/trends/education/601c1a6b9a79472c4806230a

Если рынок перенасышен, то надо ждать понижения ЗП, т.к. предложение слишком высокое. А этого как раз нет — ты же сам сказал. Вобщем, ты снова начал противоречить себе же.

V>На удивление, не смотря на все дотнеты и джавы, абсолютное кол-во нейтивных программистов только растёт, потому что растёт спрос (повторюсь).


V>Еще спасибо ...


Бизнеслогика и уи пишется на порядки чаще, меняется на порядки чаще. Отсюда ясно, что ты говоришь про малое количество проектов.
А если вспомнить, что деньги платятся именно за бизнес-логику, то все становится еще интереснее

V>По крайней мере которые с опытом нейтивные программисты — они в основном пишут системный и околосистемный код, ключевой спрос на них именно там.

V>Всё то, поверх чего работают ваши свистоперделки.

Снова неуёмный снобизм Сколько тебе лет?
Re[10]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.07.21 12:40
Оценка: +2 :)
Здравствуйте, vdimas, Вы писали:

НС>>на практике удобство языка для рефакторинга прямо влияет на объем техдолга. И С++ тут явно не из топа.


V>Ну да, всего лишь ТОП-3. ))

V>Давно последний раз на Resharper C++ смотрел?

Три десятилетия писали безо всяких инструменов, только хвастатались "а нам ничо и не надо"
Теперь появился инструмент, который бОльшая часть сиплюсников продолжает игнорировать "а нам ничо и не надо"
Тут надо еще хотя бы лет 10 подождать, что бы эффект увидеть.
Re[10]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ночной Смотрящий Россия  
Дата: 27.07.21 16:25
Оценка:
Здравствуйте, vdimas, Вы писали:

НС>>на практике удобство языка для рефакторинга прямо влияет на объем техдолга. И С++ тут явно не из топа.

V>Ну да, всего лишь ТОП-3. ))

Это ты как определил?

V>Давно последний раз на Resharper C++ смотрел?


Никакой чудо решарпер не поможет сделать С++ столь же пригодным к рефакторингу, как C# или Java.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[13]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: YuriV  
Дата: 27.07.21 20:17
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Для обучения нужно писать, а не гуглить. И даже с гуглением С++ отстаёт от других технологий.


От каких? В чём отстаёт? Конкретно, на примерах. Без бла-бла-бла. Договаримся на берегу — то что ты не знаешь язык недостатком самого языка не является.

Весь системный код ОС/Рантаймов менеджед языков/браузеров/КАД систем/графических, видео, аудио редакторов и т.д. и т.д. написаны на С/С++ и будут ещё долго писаться на этих языках, невзирая на раст и рассусоливания Ikemeful'ы.

Натягивание совы на глобус поскипано.
Re[13]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 27.07.21 20:33
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>>>2 относительно простые области для входа, типа десктоп, мобайл, веб — всё это почти полностью потеряно для С/С++

V>>Для свистоперделок, разве что.
I>Это называется технологический снобизм.

Это ответ на такой же снобизм ниже:
I>Основной код это та самая бизнес-логика — деньги платят именно за это. А вот твой нейтив купят только в том случае, если некто на Жээсе напишет полезную бизнес-логику.

Это тыканье тебя носом в то, что ты не понимаешь разницы м/у технологичными нишами.

А еще тебя малость заносит — приложения сейчас практически не покупают, бо в смартфоне полно изкаробки + набора бесплатных хватает.
Где что-то платное — оно ушло в подписку, в основном.


I>То есть, именно бизнес-логика оплачивает все твои приседания.


Да я же не спорю.
Пока "бизнес-логика" отстёгивает мне нехилый налог за пользование моим трудом — меня всё устраивает.


I>Нету полезной бизнеслогики — весь твой найтив сливается на помойку, какой бы он распрекрасный ни был.


Смартфоны с тобой не согласны.
Камера, звонилка, интернет — всё нейтивное, всё изкаробки.
Т.е. нейтивные разработчики получают с этого свою денюжку, а ты нет. ))


I>Скажем, именно по этому так популярен Nginx — это шикарная платформа для целого класса полезных для бизнеса решений.


Это просто прокси. ))
К тому же, не самый лучший.
Просто самый удобный в конфигурировании для, дословно твоими словами, "людей с улицы".


V>>Относительная доля разработчиков на С/С++ за последние 3 года упала примерно на 3%, но абсолютное их кол-во выросло.

V>>Т.е. индустрия всё еще растёт, если растёт общий рынок труда.
I>Это значит, что доля С++ продолжает скукоживаться.

Но рынок С++ при этом растёт. ))
Похоже, ты не понимаешь даже таких простых вещей.


V>>И да, медианная ЗП дотнетчиков и JS-пограммеров догнала медианную ЗП плюсовиков только к 2020-му году.

I>С++ в силу высокого порога вхождения теряет долю, а для компенсации этой особенности приходится заманивать людей зарплатами.

Специалистов всегда приходится заманивать зарплатами.
Илиту node.js тоже, ес-но.

Просто в С++ у специалистов гнездо. ))


V>>Сама отрасль С++ держится на опытных спецах со стажем 15+..20+ лет, а там ЗП далеки от медианных.

I>Вот и объяснение, откуда такая разница — сравниваешь людей с 20ю годами опыта и вчерашним студентом.

Я же пояснил, почему сравниваю — потому что оклад С++ программиста стабильно растёт всю жизнь, а ЗП JS- и дотнет-программистов неплохо растут только в первый период карьеры, первые примерно 5-7 лет стажа, а затем рост ЗП там относительно небольшой.

Программистам в тех технологиях приходится уходить из программирования в менеджмент, чтобы сохранить рост ЗП.
Одно плохо — вакансий менеджеров/ПМ/архитекторов и прочих в разы меньше даже чем вакансий для опытных С++ разработчиков. ))

В итоге, JS, C# и прочие — это ловушка для потенциальных специалистов.
Это вкусный пряник для вчерашнего студента, который (пряник), однако, с годами протухает.

Вот и мечутся программисты JS и C# каждые лет 10 в попытках найти себя где-то еще.

И мне тут без преувеличения обидно за многих потенциально классных специалистов, которые натурально просрали свою карьеру на дотнет, с нулевым выхлопом.
Перечислять не буду, их тут все и так знают.
Весьма поучительно.


I>Тут надо вспомнить, что ты три года кряду не мог понять, откуда в nodejs берется недетерминизм и те самые гонки.

I>Можем повторить:
I>
I>file.read(x, callback1)
I>file.read(y, callback2)
I>

I>Как по твоему, можно ли ожидать, что callback1 будет всегда вызываться перед callback2 ?

Да не можешь ты ничего повторить. ))
Я ХЗ каким непрошибаемым надо быть, чтобы не понимать, что это зависит от того, на один и тот же хендл ссылается x и y или нет.
И к node.js это не имеет никакого отношения, т.к. в нейтиве происходящее в точности аналогично.

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

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


V>>И там высокие ЗП не совсем у JS-программистов, а у илиты этой области — у интеграторов с другими технологиями.

V>>У тех, кто пишет модули для node.js или создаёт платформы, типа electron и другую россыпь похожих их.
I>Этой илиты единицы.

Да нет, дохрена.
Я бы сказал — дохренищща.
Просто ты не переекаешься с ними по работе, бо им рядом с тобой нечего делать.


I>Их ЗП в общей массе погоды не делает.


Потому что именно в JS больше всего обезъянок.
Это которые полезли в IT сугубо из-за зарплат.


I>Низкая средняя ЗП говорит о том, что в жээс приходит много людей буквально с улицы.


Увы, эта "низкая средняя" — она среди программистов невысокая, а среди остального люда — очень даже ничего.
Но это губит отрасль...
Когда-то программисты работали за относительно небольшие деньги, не только у нас, но и в США.
Люди шли в специальность осознанно, чтобы двигать отрасль, а не паразитировать на ней.


I>>>Отсюда ясно, что в данное время мягко говоря неразумно искать студента, который в С++ умеет все сразу да искаропки.

V>>Как и на любой другой технологии.
I>В других технологиях порог вхождения гораздо ниже, а раз так, то появляются другие варианты.

Ты говорил про "все сразу".
Ну вот напиши модуль для node.js с биндом пусть уже на имеющуюся нейтивную функциональность. ))

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

И даже взять более высокий уровень, все эти достаточно мощные конструкторы сайтов.
Там и без всякого нейтива надо хоть что-то соображать.
Т.е., С++ тут не исключение ни разу.

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


V>>Угу, например, ABBY, Yandex, МЦСТ и прочие имеют в ведущих наших ВУЗ-ах свои кафедры, где обучают студентов с 3-го курса, и лучшие из них уже с 3-го курса в этих компаниях работают, разрабатывают Эльбрус или крутят ИИ для Яндекса. У меня с некоторыми такими студентами самая непосредственная родственная связь, будет интересно — спрашивай.

I>Именно — в с++ это почти единственный способ найти внятных сиплюсников.

Эльбрус разрабатывают не С++-сники.
Там языки семейства HDL, ассемблер, разработка оптимизирующих компиляторов и т.д.
Т.е., совсем-совсем низкий уровень.
Ниже некуда.


I>Хождение по рынку больше не даёт эффекта, а потому остаётся прочесывать самые топовые специальности и надеятся, что с одного потока тебе достанется один-два таких, что задержатся у тебя хотя бы на 5 лет.


Ты так говоришь, будто сама возможность неглупым студентам набираться опыта в ведущих конторах на боевых серьезнейших проектах — это что-то плохое. ))
И да, бывает по-разному, тут один завсегдатай (в прошлом, последние годы мало активен), например, занимает нехилую должность в ABBY.

Но так-то в Яндексе и МЦСТ задерживаются относительно надолго.
И сами оттуда редко уходят, с таких контор обычно переманивают.
Более высокой ЗП, ес-но.


V>>Так большой или маленький? ))

I>Большой. Это видно по ЗП. Ты сам говоришь, что ЗП высокая, но, похоже, не догоняешь, как на это соотношение спроса-предложения влиет.

Я не догоняю? ))
А может, мне виднее, ведь ты рассуждешь о той области, о которой что-то знаешь лишь понаслышке.


V>>Я так думаю, что рынок, наоборот, перенасыщен С/С++ программистами.

V>>https://trends.rbc.ru/trends/education/601c1a6b9a79472c4806230a
I>Если рынок перенасышен, то надо ждать понижения ЗП, т.к. предложение слишком высокое.

Не обязательно речь о понижении ЗП, речь была о другом — насыщение рынка не даёт ЗП подниматься с нужной скоростью.

Т.е., не смотря на всё это хаяние С++ и вообще нейтивной разработки как таковой, в неё народ идёт.
Да, идут жрать тот самый кактус.
Жрут, причмокивают и радуются этому. ))
Потому что не за ЗП в плюсы и прочий хардкор идут.


I>Бизнеслогика и уи пишется на порядки чаще, меняется на порядки чаще. Отсюда ясно, что ты говоришь про малое количество проектов.


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


I>А если вспомнить, что деньги платятся именно за бизнес-логику, то все становится еще интереснее


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

В этом смысле разработка даже сугубо прикладной части превращается в такую же точно разработку "инфраструктуры", для целей оказания последующих услуг.


V>>По крайней мере которые с опытом нейтивные программисты — они в основном пишут системный и околосистемный код, ключевой спрос на них именно там.

V>>Всё то, поверх чего работают ваши свистоперделки.
I>Снова неуёмный снобизм Сколько тебе лет?

Я много раз говорил, в каких годах заканчивал школу.
И да, не обязательно теперь суетиться, ты ж тщательно напрашивался именно на такой отлуп своей демагогией.
Выглядит так, что ты малость заскучал по публичной порке, мистер мазохист. ))
Отредактировано 27.07.2021 21:05 vdimas . Предыдущая версия . Еще …
Отредактировано 27.07.2021 21:04 vdimas . Предыдущая версия .
Отредактировано 27.07.2021 21:03 vdimas . Предыдущая версия .
Отредактировано 27.07.2021 21:02 vdimas . Предыдущая версия .
Re[11]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 27.07.21 20:54
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Три десятилетия писали безо всяких инструменов


VisualAssist доступен с конца 90-х.
CTags — с начала нулевых.

Но да, в плане рефакторинга было не так автоматизировано, как в C#, например, приходилось что-то вычищать ручками.
Но основной сценарий таких тулзов — это представление модели кода, навигация, автодополнение, оно используется в тысячи раз чаще, чем рефакторинг.

С середины нулевых приличный объем этой функциональность постепенно стал поддерживаться самой студией.


I>только хвастатались "а нам ничо и не надо"


Я не хвастался.
Мне надо.

Обычно этим хвастался тот тип людей, который и на C# в блокнотике пишет.
Что означает, что эти люди работают над небольшими проектами или небольшой выделенной задачей в большом проекте и более это не означает ничего.

Только я не понимаю твоего оживления — JS вообще рефакторингу не поддаётся, какой тебе интерес в этой теме? ))


I>Теперь появился инструмент, который бОльшая часть сиплюсников продолжает игнорировать "а нам ничо и не надо"


Да не теперь, уже 2012-я студия сама неплохо справлялась во многих сценариях, в Эклипсах и других средах разработки тоже на месте не стояли.
Просто JetBrains безусловный лидер в этой области.

Ну и, Решарпер для С++ сегодня чаще пользуют в виде CLion — это IntelliJ IDEA для С++.
А там не только с С++ заморочиться пришлось, как он вынюхивает CMake-описания — любо дорого посмотреть.

В общем, ребята хорошо делают свою работу.

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

Вот тебе пример того, когда низкий уровень означает не обязательно нейтив (вдогонку к обсуждению рядом).
Просто такой характер работы, когда приходится досконально разбираться с сутью вещей.


I>Тут надо еще хотя бы лет 10 подождать, что бы эффект увидеть.


Я уже лет 5 сижу, полёт нормальный, год от года всё лучше.
Разработчики даже учли пару моих замечаний, сделанных когда-то, тогда же оперативно добавили нужную функциональность.
Отредактировано 28.07.2021 12:30 vdimas . Предыдущая версия . Еще …
Отредактировано 28.07.2021 0:05 vdimas . Предыдущая версия .
Отредактировано 27.07.2021 21:59 vdimas . Предыдущая версия .
Re[11]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 27.07.21 20:55
Оценка: :)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>на практике удобство языка для рефакторинга прямо влияет на объем техдолга. И С++ тут явно не из топа.

V>>Ну да, всего лишь ТОП-3. ))
НС>Это ты как определил?

По фактическому наличию инструментов рефакторинга и их возможностям.


V>>Давно последний раз на Resharper C++ смотрел?

НС>Никакой чудо решарпер не поможет сделать С++ столь же пригодным к рефакторингу, как C# или Java.

Давай конкретные кейзы.
Re[14]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.07.21 09:54
Оценка:
Здравствуйте, YuriV, Вы писали:

I>>Для обучения нужно писать, а не гуглить. И даже с гуглением С++ отстаёт от других технологий.


YV>От каких? В чём отстаёт? Конкретно, на примерах. Без бла-бла-бла. Договаримся на берегу — то что ты не знаешь язык недостатком самого языка не является.


Крайне странно думать, что нативный язык будет проще в изучении чем скриптовый
Это ж элементарано. Например, repl для с++, самый распрекрасный, убог по сравнению с repl любого динамического языка.
Собственно ничего странного, это же нативный язык — за все нужно платить.

Пакетный менеджер для с++ уже дали нормальный или все еще изобретают? Эта вещь радикально снижает порог вхождения.
"хочу npm но для C++" — я думал это такая шутка, но нет, на полном серьёзе просят.

А теперь твой ход — покажи адекватный репл, не хуже чем в питоне-жээсе, и пакетный менеджер, не хуже чем в питоне-жээсе.

YV>Весь системный код ОС/Рантаймов менеджед языков/браузеров/КАД систем/графических, видео, аудио редакторов и т.д. и т.д. написаны на С/С++ и будут ещё долго писаться на этих языках, невзирая на раст и рассусоливания Ikemeful'ы.


Системный код покупают только в том случае, если:
1. есть скрипт, который использует этот системный код и дает нужную нам бизнес-логику
2. есть человек, который будет писать такой скрипт

Если нет ни п1, ни п2, то самый распрекрасный системный код не стоит нисколько. В лучшем случае он будет валяться как опенс сорс дожидаясь выполнения условий п1 и п2.
Это проверяется элементарно —
— берешь полноценный стартер приложухи ну скажем на реакте
— добавляешь кнопку донат
— деплоишь
Убеждаешься, что никто на эту кнопку не жмет Никто — это я поговочился. Ты сам конечно нажмешь пару раз, что бы проверить, работает ли и то, если понимашь, зачем это надо.
Это же приложение заворачиваешь в мобайл оболочку, публикуешь, и видишь еще меньшее количество покупок.

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

Итого, с т.з. системного кода и там и там его одинаково. разница только в тех 100-1000 строчках жээса, которые и ведут к покупкам.

В принципе жээс можно заменить lua, python, джава, c# и ничего не изменится — юзеры будут покупать ровно эти 100-1000 строчек кода, и оплачивать тем самым весь стек, в котором 99% нативного кода.
Re[11]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 28.07.21 12:09
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

V>>Давно последний раз на Resharper C++ смотрел?

НС>Никакой чудо решарпер не поможет сделать С++ столь же пригодным к рефакторингу, как C# или Java.

Вдогонку, немного технических подробностей.

Сложность автокомплита, навигации и рефакторинга С++ в сравнении с C# или Java возражений никогда не вызывала.

Сложность эта заключается в системе препроцессора, который подключает файлы через include и раскрывает макроопределения.
В итоге возможна ситуация, когда в зависимости от определений символов, "смысл" одного и того же подключаемого из разных мест файла может изменяться.
Эта сложность объективная, но не непреодолимая.

Напомню, что в C# тоже есть возможность подключать одни и те же физические файлы в разные проекты и тоже можно воссоздать ситуацию, когда одни и те же символы имеют в таком многократно подключенном файле разный смысл. Чтобы корректно разбираться со "смыслом" таких файлов, Решарперу необходима информация из файлов проектов C#.

Аналогично он поступает с проектами С++ — разбирает файлы проектов и в точности знает значения всех символов во всех версиях одного и того же файла.
Разумеется, подхватывает так же настройки самой среды разработки и переменные среды, т.к. и там и там обычно содержится информация (или часть её) о внешних зависимостях.
Еще рядом упоминал, что Решарпер С++ и CLion отлично "вынюхивает" Make и CMake-файлы, теперь не хуже чем формат MSBuild для C#/C++, т.е. теперь он способен построить точную модель кода для различных видов проектов, что и требуется для точной навигации/автокомплита/рефакторинга.

Рзумеется, задача эта оказалось более сложной, чем для C# или Java, но они её решили, респект.

Да, в процессе рефакторинга такие подключаемые из разных мест файлы, "меняющие свой смысл", могут утрачивать валидность.

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

А да, вдогонку.
Еще же Решарпер делает анализ кода и много чего подсказывает:
https://www.jetbrains.com/clion/whatsnew/
Отредактировано 28.07.2021 18:09 vdimas . Предыдущая версия . Еще …
Отредактировано 28.07.2021 12:24 vdimas . Предыдущая версия .
Отредактировано 28.07.2021 12:10 vdimas . Предыдущая версия .
Re[15]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: YuriV  
Дата: 28.07.21 12:11
Оценка: :)
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, YuriV, Вы писали:


I>>>Для обучения нужно писать, а не гуглить. И даже с гуглением С++ отстаёт от других технологий.


YV>>От каких? В чём отстаёт? Конкретно, на примерах. Без бла-бла-бла. Договаримся на берегу — то что ты не знаешь язык недостатком самого языка не является.


I>Крайне странно думать, что нативный язык будет проще в изучении чем скриптовый

Я спросил не про изучение. Естественно, для изучения С++ требуется мозг чуть больший чем земляной орех.

I>Это ж элементарано. Например, repl для с++, самый распрекрасный, убог по сравнению с repl любого динамического языка.

I>Собственно ничего странного, это же нативный язык — за все нужно платить.
Почему у компилируемого языка должен быть репл? У джавы или шарпа он есть? Вектор развития С++ направлен в сторону компайл-тайм вычислений, что позволит исполнять код во время компиляции. Я сейчас уже половину юнит-тестов перенёс в компайл-тайм.
Что-то такое:
  ecs::CS<ecs::R_c3d> cs3;

  constexpr auto i_e_v = cs3.e<0>().e;
  constexpr auto j_e_v = cs3.e<1>().e;
  constexpr auto k_e_v = cs3.e<2>().e;
  static_assert(i_e_v.mag_squared() == j_e_v.mag_squared(), "Magnitudes not equal.");
  static_assert(j_e_v.mag_squared() == k_e_v.mag_squared(), "Magnitudes not equal.");

  constexpr ecs::R_vector_3d v1{3., 4., 0.};
  static_assert(ecs::dot(v1, v1) == 25., "dot failed.");
  static_assert(v1.mag_squared() == 25., "double_mag failed.");

  static_assert(v1.magnitude() == 5., "mag failed.");


Кстати, есть такой прикольный язык Circle от Sean Baxter, гитхаб это

Circle is a new programming language that extends C++ 17 to support data-driven imperative metaprogramming. Circle combines the immediacy and flexibility of a scripting language with the type system, performance and universality of C++. Three new features make this a more effective programming tool than Standard C++:

An integrated interpreter supports the execution of normal C++ statements at compile time.
Same-language reflection programmatically allows for the generation of new code without involving an elaborate DOM or API for modelling the AST.
Introspection keywords inform the program about the content of types, and expose data members and enumerators as iterable entities.

Circle accepts the C++ language as a starting point, and rotates that language from the runtime to the compile-time axis, allowing you to finally metaprogram C++ using C++.

Вот примеры: 1, 2.

I>Пакетный менеджер для с++ уже дали нормальный или все еще изобретают? Эта вещь радикально снижает порог вхождения.

I>"хочу npm но для C++" — я думал это такая шутка, но нет, на полном серьёзе просят.
Те кто хочет npm они случайно не туда зашли. С++ системный язык и он может, например, быть (да и есть) эмбеддед. Для С++ есть библиотеки — статические или динамические. Этого достаточно. Я лично использую CMake->Makefile + библиотеки. Ещё есть какой-то Conan. Я им не пользовался, не знаю. Мне не нужна CI. Потому что софт который я разрабатываю в первую очередь должен проходить регрессион тестирование, а это выполняется на отдельной ферме и длится несколько часов. В ферму загружается весь проект там он компилиться и начинается процесс тестирования. В конце-концов я получаю выхлоп, где вижу тесты которые сломались и могу по этой информации перейти в область кода, который за эти тесты отвечает. Также я получаю скрипт на луа (это внутренний язык нашего продукта и пример правильного использования скриптового языка), который порождает проблему, внутри продукта я могу исполнять его пошагово и наблюдать состояния объектов модели. Это наша внутренняя система разработки, коммунникации, тестирования и развёртывания.

Напрягает нестандартизированный официально ABI для плюсов. Хотя он и существует. Вот это проблема. Именно поэтому приходиться трансформировать С++ код в С вызовы для внешнего АПИ. А все эти реплы, нпиэмы всё это такая шелуха, да ещё чуждая С++.

I>А теперь твой ход — покажи адекватный репл, не хуже чем в питоне-жээсе, и пакетный менеджер, не хуже чем в питоне-жээсе.

То что питонисты и джэсисты вдруг подумали, что они и вправду программисты и пришли в системное программирование, притащив сюда свои хламидомонады это не вина их, а беда. Да, беда для всей отрасли.

YV>>Весь системный код ОС/Рантаймов менеджед языков/браузеров/КАД систем/графических, видео, аудио редакторов и т.д. и т.д. написаны на С/С++ и будут ещё долго писаться на этих языках, невзирая на раст и рассусоливания Ikemeful'ы.


I>Системный код покупают только в том случае, если:

I>1. есть скрипт, который использует этот системный код и дает нужную нам бизнес-логику
I>2. есть человек, который будет писать такой скрипт
Если этого самого "системного кода" нет, то ты можешь написать миллион скриптов дающих "нужную бизнес-логику" они нах никому не облокатились, даже бесплатно. А вот если он есть, то у тебя есть потенциальная возможность найти скрипт-макаку, который дёрнет АПИ в нужном для твоей бизнес-логики порядке.

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

Последовательность такая (речь идёт о "ценном", читай системном, коде, реализующем эту фичу с учётом требований рынка):
1. Рынок потребовал фичу
2. Производитель отозвался
а. Есть готовое решение?
б. Да — берём/покупаем, оформляем, отдаём на рынок
в. Нет — заказываем или производим сами, оформляем, отдаём на рынок

I>В принципе жээс можно заменить lua, python, джава, c# и ничего не изменится — юзеры будут покупать ровно эти 100-1000 строчек кода, и оплачивать тем самым весь стек, в котором 99% нативного кода.

Юзеры покупают то, что им требуется и если пользователю понадобиться функционал представленный "валяющемся кодом", то скрипт-макака найдётся моментально и за миску риса обернёт валяющийся код во что угодно. А вот если затребованного функционала не существует, то сколько скрипт-макаку рисом не корми он не появится. И придётся обращаться к программистам, например, на С/С++, чтобы написали.
Отредактировано 28.07.2021 12:33 YuriV . Предыдущая версия . Еще …
Отредактировано 28.07.2021 12:28 YuriV . Предыдущая версия .
Re[14]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.07.21 12:29
Оценка:
Здравствуйте, vdimas, Вы писали:

I>>Это называется технологический снобизм.


V>Это ответ на такой же снобизм ниже:

I>>Основной код это та самая бизнес-логика — деньги платят именно за это. А вот твой нейтив купят только в том случае, если некто на Жээсе напишет полезную бизнес-логику.

Это факты. Деньги платят в двух случаях
1. польза для юзеров
2. польза для конкретного бизнеса

V>А еще тебя малость заносит — приложения сейчас практически не покупают, бо в смартфоне полно изкаробки + набора бесплатных хватает.

V>Где что-то платное — оно ушло в подписку, в основном.

Подписку оформляют на полезные для покупателя вещи — бизнес-логика, развлечения, итд. Подписку на user mode tcp драйвер оформят только в том случае, если найдется некто, кто запилит хороший порно-стример на ём.

I>>То есть, именно бизнес-логика оплачивает все твои приседания.


V>Да я же не спорю.

V>Пока "бизнес-логика" отстёгивает мне нехилый налог за пользование моим трудом — меня всё устраивает.

Например, браузеры давно уже бесплатные. ОС — близки к этому, т.к. платишь один раз, и то за железо.
Раз в 10 лет купить лицензию это даже не смешно.
Работая унутре ос, или хрома, ты можешь надеяться, что гугл дась тебе ЗП. Для них это инвестиции.
Возврат инвестиций будет обеспечиваться заработком на рекламе.
Приложения продаются каждый день, и эти деньги перекрывают бюджет разработки хрома в миллионы раз.

Вот например я стараюсь покупать все необходимое. На этом фоне цена винды вместе с ноутбуком ничтожна. Кто получает основную часть моих денег? Да те самые фронтенд разработчики.

I>>Нету полезной бизнеслогики — весь твой найтив сливается на помойку, какой бы он распрекрасный ни был.

V>Смартфоны с тобой не согласны.
V>Камера, звонилка, интернет — всё нейтивное, всё изкаробки.

Для смартфонов применима "экономика чашки кофе". То есть, 99% денег достанется не тебе.

V>Т.е. нейтивные разработчики получают с этого свою денюжку, а ты нет. ))


Устройство стоит в среднем 300-400$ Это в лучшем случае. Реально — средняя цена гораздо меньше.
Себестоимость будет около 25-30%, все остальное это дистрибуция, дилеры, сервисная сеть, реклама, налоги и прибыль.
Далее, бОльшая часть всего этого есть стоимость железа. Итого — нативным разработчикам достанется условных 10-20$ с девайса в лучшем случае.
При этом, контента на этом устройстве будет куплено примерно раз в 10-100 больше. И почти все это идет совсем не нативным разработчикам.

I>>Скажем, именно по этому так популярен Nginx — это шикарная платформа для целого класса полезных для бизнеса решений.


V>Это просто прокси. ))

V>К тому же, не самый лучший.
V>Просто самый удобный в конфигурировании для, дословно твоими словами, "людей с улицы".

Lua разработчики за месяц зарабатывают на нем больше, чем вся команда nginx за все годы вместе.

V>Но рынок С++ при этом растёт. ))

V>Похоже, ты не понимаешь даже таких простых вещей.

Ровно то же с коболом — в абсолютных числах его стало больше, в относительных — хрен найдешь кого. Вот уж рост так рост.
латами.

V>Специалистов всегда приходится заманивать зарплатами.

V>Илиту node.js тоже, ес-но.

Это значит, что и для начинающих зп будут завышены, независимо от квалификации. Иначе никто в С++ не пойдет.
Если квартиру-дом быстрее купить на Питоне, то большинство пойдет именно туда.

V>Я же пояснил, почему сравниваю — потому что оклад С++ программиста стабильно растёт всю жизнь, а ЗП JS- и дотнет-программистов неплохо растут только в первый период карьеры, первые примерно 5-7 лет стажа, а затем рост ЗП там относительно небольшой.


Смотрим вместе hh.ru и видим, что ЗП C++ заканчивается на 250к, а жээс — на 350к. Ровно то же на glasdoor.

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

V>Программистам в тех технологиях приходится уходить из программирования в менеджмент, чтобы сохранить рост ЗП.


Это справедливо для любых технических позиций.

V>Одно плохо — вакансий менеджеров/ПМ/архитекторов и прочих в разы меньше даже чем вакансий для опытных С++ разработчиков. ))


V>В итоге, JS, C# и прочие — это ловушка для потенциальных специалистов.

V>Это вкусный пряник для вчерашнего студента, который (пряник), однако, с годами протухает.

V>Вот и мечутся программисты JS и C# каждые лет 10 в попытках найти себя где-то еще.


Индустрия меняется гораздо чаще, чем каждые 10 лет. Отсюда нормально, что большая часть её меняется с такой же частотой.

I>>
I>>file.read(x, callback1)
I>>file.read(y, callback2)
I>>

I>>Как по твоему, можно ли ожидать, что callback1 будет всегда вызываться перед callback2 ?

V>Да не можешь ты ничего повторить. ))

V>Я ХЗ каким непрошибаемым надо быть, чтобы не понимать, что это зависит от того, на один и тот же хендл ссылается x и y или нет.
V>И к node.js это не имеет никакого отношения, т.к. в нейтиве происходящее в точности аналогично.

x или y это имена файлов. А в целом ты прав — аналогично как и в нейтиве. Эту часть ты отрицал три года кряду, т.е. отрицал наличие этого самого недетерминизма. Например, один файл уже в кеше, а другой файл еще найти надо. Один на ссд, другой — хдд или в сети. Один большой, другой — маленький.
Вобщем, три года отрицания не прошли даром, ты таки разобрался

V>За время того спора ты мог сто раз открыть исходники и удовлетворить, наконец, своё любопытство.

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

Ты мог бы 1 раз запустить демо, и убедиться, что все работает как в нейтиве. Вместо этого ты отрицал наличие такой вот особенности.

I>>Этой илиты единицы.


V>Да нет, дохрена.

V>Я бы сказал — дохренищща.

Единицы.

V>Просто ты не переекаешься с ними по работе, бо им рядом с тобой нечего делать.


Есть рынок труда и примерно известно сколько такой "илиты" вместе взятой.

нативных модулей в node.жээс кот наплакал, если в общей массе. Это считай единичные проекты и сколько там "Илиты" уже не интересно, т.к. проекты единичные.
А вот всевозможных business web app сотни тысяч. Отсюда ясно, что 99% пакетов для node это жээс безо всякого натива.


I>>Их ЗП в общей массе погоды не делает.


V>Потому что именно в JS больше всего обезъянок.

V>Это которые полезли в IT сугубо из-за зарплат.

Это снова снобизм. Эдак ты и менеджеров или врачей с юристами начнешь измерять в знании алгоритмов и матана

I>>Низкая средняя ЗП говорит о том, что в жээс приходит много людей буквально с улицы.


V>Увы, эта "низкая средняя" — она среди программистов невысокая, а среди остального люда — очень даже ничего.

V>Но это губит отрасль...

Это естественное положение дел — разделение труда. Функции, которые не требуют системных знаний, перекладываются на людей попроще, или даже вовсе автоматизируются.

I>>В других технологиях порог вхождения гораздо ниже, а раз так, то появляются другие варианты.


V>Ты говорил про "все сразу".

V>Ну вот напиши модуль для node.js с биндом пусть уже на имеющуюся нейтивную функциональность. ))

Не знал, что для тебя это верх крутости — лет 5 или 7 назад понаписывали всякого такого, а потом благополучно выбросили, т.к. "всегда есть варианты".

V>И даже взять более высокий уровень, все эти достаточно мощные конструкторы сайтов.

V>Там и без всякого нейтива надо хоть что-то соображать.

Похоже, соображать надо вне зависимость от натива При этом конструкторы сайтов вообще говоря вещь далеко не сложная.

I>>Хождение по рынку больше не даёт эффекта, а потому остаётся прочесывать самые топовые специальности и надеятся, что с одного потока тебе достанется один-два таких, что задержатся у тебя хотя бы на 5 лет.


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


Ага, прям сразу пускают студентов на серьезнейшие проекты, когда они даже основ не знаю Чудо то какое.

V>И да, бывает по-разному, тут один завсегдатай (в прошлом, последние годы мало активен), например, занимает нехилую должность в ABBY.


С т.з. конторы это инвестиции, а следовательно должен быть и возврат. За счет чего возврат, ы?

V>Но так-то в Яндексе и МЦСТ задерживаются относительно надолго.

V>И сами оттуда редко уходят, с таких контор обычно переманивают.
V>Более высокой ЗП, ес-но.

Это говорит о том, что мест работы для таких людей не так уж и много.

I>>Большой. Это видно по ЗП. Ты сам говоришь, что ЗП высокая, но, похоже, не догоняешь, как на это соотношение спроса-предложения влиет.


V>Я не догоняю? ))


Именно. Читаем вместе некоего vdimas:

Я так думаю, что рынок, наоборот, перенасыщен С/С++ программистами.


Когда рынок перенасыщен, ЗП падают. А по твоему у С++ зп конские да еще и растут. Не сходятся показания. ты или трусы надень, или крестик сними.

V>Не обязательно речь о понижении ЗП, речь была о другом — насыщение рынка не даёт ЗП подниматься с нужной скоростью.


Если рынок перенасыщен, то ЗП не с чего подниматься, т.к. на любое место более одного кандидата.

I>>Бизнеслогика и уи пишется на порядки чаще, меняется на порядки чаще. Отсюда ясно, что ты говоришь про малое количество проектов.


V>Прикладных проектов всегда будет больше, чем библиотек/платформ, ес-но.

V>Но результатом работы низкоуровневого программиста обычно пользуются тысячи прикладных разработчиков.

Именно. Что бы 1 нативный мог купить квартиру, 10 фронтендов должны построить себе дом, гараж, и машину.

I>>А если вспомнить, что деньги платятся именно за бизнес-логику, то все становится еще интереснее


V>Деньги сейчас всё больше платятся по модели подписки, то бишь за услугу.

V>Т.е., ты опять не угадал.


Подписка это "как выгоднее". А бизнеслогика это "за что выгоднее".
Напримем, мы можем купить коробку с бизнеслогикой.
Можем купить пожизненную лицензию
Можем купить помесячную подпискую
Можем купить буквально вызов нужной функции.
Всегда платим "за что" и всегда выбираем, "как выгоднее"

V>В этом смысле разработка даже сугубо прикладной части превращается в такую же точно разработку "инфраструктуры", для целей оказания последующих услуг.


С прикладной как раз все в порядке. Не в порядке с нативной. Именно ей нужна подписка, т.к. обычные формы оплаты больше невыгодны, и нативным разрабам нечего есть.
ОС покупается 1 раз на 10 лет за 100-1000$, а контент да прикладной жээсный софт каждый год отнимает минимум столько же.
У тебя за 10 лет один интернет дороже выйдет.

Скажем, вся разработка iTunes включая весь софт, хард и прочее паскудство оплачивается за счет контента.
Контора переходит на подписки, что бы вынудить юзеров платить каждый месяц условных 10$ в месяц, 100 в год, 1000 за 10 лет.
А все потому, что сам по себе iTunes(Spotify, Tidal, Qobuz, нужное вписать) никому без контента не нужны.

При этом +1 веб-интерфейс значает +X% к продажам.
Re[12]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.07.21 12:40
Оценка: :)
Здравствуйте, vdimas, Вы писали:

V>Но да, в плане рефакторинга было не так автоматизировано, как в C#, например, приходилось что-то вычищать ручками.

V>Но основной сценарий таких тулзов — это представление модели кода, навигация, автодополнение, оно используется в тысячи раз чаще, чем рефакторинг.

Это потому, что рефакторинг до недавних пор был убог, им просто не пользовались ибо смысла не было, на секунду быстрее ручного варианта

V>С середины нулевых приличный объем этой функциональность постепенно стал поддерживаться самой студией


Этот приличный объем называется "ниже плинтуса". Если решарпер C++ не потонет, лет через 10 будет видно, пошло ли это на пользу.
А то есть шанс, что большинство как писало без ничего, так и будет писать без ничего.

V>Только я не понимаю твоего оживления — JS вообще рефакторингу не поддаётся, какой тебе интерес в этой теме? ))


Твои познания о жээсе заканчиваются концом нулевых. Сейчас жээс это семейство языков включая варианты со статической типизацией, compiler as service, соответсвующими фичами в IDE и тд.
Основная проблема в том, что
1 Жээс развивается очень быстро, а раз так, то нужны новые инструменты
2 бОльшая часть жээса это фронтенд, который в норме изменяется слишком часто.

Вот эти 2 условия немного меняют актуальность рефакторинга. Если ты не во фронтенде, рефакторь сколько влезет.
Re[16]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.07.21 13:06
Оценка:
Здравствуйте, YuriV, Вы писали:

I>>>>Для обучения нужно писать, а не гуглить. И даже с гуглением С++ отстаёт от других технологий.


YV>>>От каких? В чём отстаёт? Конкретно, на примерах. Без бла-бла-бла. Договаримся на берегу — то что ты не знаешь язык недостатком самого языка не является.


I>>Крайне странно думать, что нативный язык будет проще в изучении чем скриптовый

YV>Я спросил не про изучение. Естественно, для изучения С++ требуется мозг чуть больший чем земляной орех.

Цитирую себя "Для обучения нужно писать, а не гуглить. И даже с гуглением С++ отстаёт от других технологий."

Поскольку ты не понял выделеное жирным, я не стал повторяться.

YV>Маркет-бред поскипан. Ты путаешь причину и следствие, ставишь телегу впереди лошади. Мне твой условный сокобан не нужен в любом оформлении, как не нужен и ведьмак с самым крутым рендерингом. Я в игры не играю. Это я к тому что юзеру нужно, то что ему нужно, а не то к чему ты скрипт приделал.


А при чем здесь ты, вообще говоря? За ведьмак платят деньги, а стало быть он востребован. И сокобан востребован. За него платят деньги.
А за браузер, который мало чем отличается от операционки, не платят ничего.

YV>Последовательность такая (речь идёт о "ценном", читай системном, коде, реализующем эту фичу с учётом требований рынка):


Ценный это с т.з. энд-юзера или бизнеса. Бесплатный браузер, похоже, тебя ничему не научил. Вагон системного кода и цена равна нулю

YV>Юзеры покупают то, что им требуется и если пользователю понадобиться функционал представленный "валяющемся кодом", то скрипт-макака найдётся моментально и за миску риса обернёт валяющийся код во что угодно. А вот если затребованного функционала не существует, то сколько скрипт-макаку рисом не корми он не появится. И придётся обращаться к программистам, например, на С/С++, чтобы написали.


Да, что бы 1 нативный программист получил 100$ ЗП, 1000 фронтендов должны продать свои сокобаны за много бОльшие деньги. И даже это не всегда помогает — см пример с бесплатными браузерами.
Re[10]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.07.21 13:33
Оценка: +1
Здравствуйте, kaa.python, Вы писали:

S>>Наверное, вы говорите о каких-то мега джедаях, которые способны за неделю-две, пусть даже и с помощью коллектива, изучить совершенно новый для себя язык вместе с его набором библиотек так, чтобы сразу думать на нём.

S>>Увы, я к таким не отношусь, и своими глазами таких никогда не видел.

KP>Начнём с того, что такого человека ты знаешь и регулярно видишь — это ты, и это вообще любой нормальный программист. Что такое нормальный? Ну, он хочет развиваться, учить что-то новое, а не просто как-то сделать задачу и пойти домой. Таких, само собой, не 100% в АйТи мире, но изрядное количество.

Странно, что ты проигнорировал тот абзац, где я написал про полтора года, ушедшие у меня на переход с Java на C#. Я же не говорю про принципиальную невозможность — я говорю про невозможность перепрыгнуть мгновенно.

KP>Когда разработчик выходит на новое место работы, его основная сложность далеко не язык программирования, а то наследие в которое он погружается.

Это зависит от объёма наследия. У меня получилось так, что я перешёл на C# в проекты, которые писались с нуля. Поэтому никакой сложности в "наследии" не было. "Домен" тоже был примерно такой же — из веб-приложений на джаве я перешёл в веб-приложения на C#. И несмотря на это, переход занял полтора года. По вашим словам получается, что переезд в проект с историей занял бы не полтора года, а лет пять.

KP>Ну серьёзно, будет ли AWS Lambda на Python как-то значительно отличаться от лямбды на JS? Да ничего подобного, но вот знать что такое лямбды и как их готовить уже реально полезно.

Не знаю насчёт лямбды, а вот нормальное идиоматическое приложение на Спринге сильно отличается от нормального идиоматического приложения на ASP.Net.
Если я правильно понимаю, что такое AWS Lambda — то это как раз тот пример, когда пишется заведомый говнокод, "лишь бы работало". То, что он там неидиоматический — хрен с ним, он же одноразовый, его никто не планирует эксплуатировать десятилетями. Чудовищно неэффективный — хрен с ним, всё равно клауд поднимет столько инстансов, сколько надо.

А вот написать саму платформу типа AWS Lambda на Java, Go, или C# — вот прямо большая разница выйдет. Даже если ты уже эксперт вот в этих вот serverless computing и имел опыт написания на Java — написать то же самое на C# или Go нормально займёт в разы больше времени, чем допилить аналогичную по объёму фичу на том же языке.

KP>В итоге получается, что подход "мы ищем бэкенд разработчика на C#" имеет широкое распространение в РФ, но это не более чем создание дополнительных сложностей компании на ровном месте. А вот более правильный вариант "мы ищем бэкенд разработчика готового работать с нашим стеком" даёт куда как более широкий простор для маневра и получения в штат реально высококлассных специалистов. Кроме того, если компания хоть слегка крупнее чем Рога-и-Копыта, то за время роста и развития кодовая база успевает обрасти несколькими языками и технологиями которые всяко нужно поддерживать и развивать, знания и навыки не пропадут.

Ну, вот мне повезло работать в основном в Рогах и Копытах. Где постепенно идёт унификация стека, т.к. "у нас нет возможности находить разработчиков под экзотические языки". Поэтому С++, C#, PowerShell, Ruby, PHP планомерно вытесняются Java, Python, и JS.

KP>Но как я уже говорил выше, такой подход не будет нормально работать с "языками для мутантов" типа C++/Rust или Haskell, где язык на столько сложен, что это становится критичным, т.к. вероятность всё разломать становится довольно не иллюзорной. Основная же масса коммерческих языков таких как C#, Java, Python, Go, Elixir, JS, TS (и наверняка кучи других, с которыми я просто не сталкивался еще) позволяют легко их менять без заметного негативного эффекта для качества кодовой базы и/или производительности. Я такое постоянно наблюдаю в компаниях в Сингапуре, аналогичная ситуация всегда была и в наших американских офисах. Был бы разработчик хороший, а язык — это вторично (за редкими исключениями).


Возможно, у вас другой опыт. У меня — полностью отличающийся. И я даже в фантазиях себе не могу представить, как это разработчик на какой-нибудь java пересядет на C# и тут же начнёт писать эффективный код с value-типами или идиоматический с Expression Trees. Домен и легаси вполне можно изучать по частям — вот тебе кусочек нашего огромного проекта, в нём вот это поле неверно валидируется, исправь это. Уже через месяц разработчик может приносить пользу. При условии, что он пишет на знакомом языке — тогда он легко узнаёт конструкции, из которых построено решение.

Возможно, это оттого что лично я — плохой программист Но я не умею требовать от людей того, на что сам неспособен.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[17]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: YuriV  
Дата: 28.07.21 14:11
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Цитирую себя "Для обучения нужно писать, а не гуглить. И даже с гуглением С++ отстаёт от других технологий."


I>Поскольку ты не понял выделеное жирным, я не стал повторяться.

Т.е. другими технологиями ты считаешь репл, энпиэм и прочую муйню. Так если человек собирается писать/изучать С++ он должен быть готов к тому, что в С++ и его инфраструктуре совершенно иные подходы и принципы разработки. Какие — я писал, ты это поскипал. Это, кстати, и защищает язык от олигофренов.

YV>>Маркет-бред поскипан. Ты путаешь причину и следствие, ставишь телегу впереди лошади. Мне твой условный сокобан не нужен в любом оформлении, как не нужен и ведьмак с самым крутым рендерингом. Я в игры не играю. Это я к тому что юзеру нужно, то что ему нужно, а не то к чему ты скрипт приделал.


I>А при чем здесь ты, вообще говоря? За ведьмак платят деньги, а стало быть он востребован. И сокобан востребован. За него платят деньги.

I>А за браузер, который мало чем отличается от операционки, не платят ничего.
Не включай дурака. Да за ведьмака платят деньги, и? Он что на питоне или, прости господи, джаваскрипте написан? Да нет мой юный друг там самый что ни наесть хардкорный хардкор — оптимизированный по самое не балуйся движок, поверх какого-нибудь дайрект Х плюс шейдеры, ну и конечно художественные артефакты. Про полноценный рендеринг (рейтрейсинг) я вообще не говорю. И ты правда думаешь, что трёхстрочный говноскрипт, который вызовет мэйнлуп нативного кода стоит хоть копейку?

YV>>Последовательность такая (речь идёт о "ценном", читай системном, коде, реализующем эту фичу с учётом требований рынка):


I>Ценный это с т.з. энд-юзера или бизнеса. Бесплатный браузер, похоже, тебя ничему не научил. Вагон системного кода и цена равна нулю

Да ладно, мозилла святым духом питается. То что они явно не берут деньги — не означает, что они их не получают. У них иная модель монетизации. Посмотри их ревенью. И да, там 700+ разрабов на зарплате.

YV>>Юзеры покупают то, что им требуется и если пользователю понадобиться функционал представленный "валяющемся кодом", то скрипт-макака найдётся моментально и за миску риса обернёт валяющийся код во что угодно. А вот если затребованного функционала не существует, то сколько скрипт-макаку рисом не корми он не появится. И придётся обращаться к программистам, например, на С/С++, чтобы написали.


I>Да, что бы 1 нативный программист получил 100$ ЗП, 1000 фронтендов должны продать свои сокобаны за много бОльшие деньги. И даже это не всегда помогает — см пример с бесплатными браузерами.


Ну правильно, а если нативному программисту не дать эти условных 100 баксов, то фронтэндеры могут своими фронтендами подтереться. И в крайнем случае С/С++ программист за пару дней начнёт писать скрипты, а вот у скрипт-макак с С++ выйдет облом.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.