IT-инфраструктура для бизнеса и творчества

Stack Overflow опубликовал рейтинг любимых у разработчиков языков программирования — на первом месте Rust Статьи редакции

Для рейтинга опросили 83 тысячи специалистов.

  • Один из крупнейших форумов для разработчиков Stack Overflow опубликовал ежегодное исследование рынка ИТ. В нём составил рейтинг языков программирования, с которыми разработчикам больше всего нравится работать. Кроме Rust в пятёрке любимых языков — Clojure, TypeScript, Elixir и Julia. Python — на шестом месте, JavaScript — на пятнадцатом.
Десять языков программирования, с которыми разработчикам приятнее всего работать Stack Overflow
  • Rust возглавил список Stack Overflow и в 2020 году. Среди плюсов разработчики называют безопасность работы с памятью и производительность.
  • Лидерами антирейтинга стали COBOL, VBA и Matlab.
Языки программирования с наименьшим количеством положительных оценок Stack Overflow
  • Среди облачных платформ на первом месте — Amazon Web Services, на втором — Google Cloud Platform, на третьем — Microsoft Azure.
  • В исследовании также есть рейтинг зарплат в ИТ и другие показатели. По данным опроса 43,8 тысячи респондентов, больше всего зарабатывают управленцы (медианная зарплата в год $96 тысяч), senior-разработчики ($94 тысячи в год) и SRE-инженеры ($84,3 тысячи в год).
Уровень зарплат в ИТ и стаж работы специалистов Stack Overflow
(function () { let cdnUrl = `https://specialsf378ef5-a.akamaihd.net/SelectelBranding/images/` let previousArticleNumber = null let currentArticleNumber = 0 let platform = 'Desktop' let articles = [ { name: 'camera', url: `${cdnUrl}CameraCat`, text: 'умную камеру для\u00A0наблюдения за\u00A0котиками', link: 'https://vc.ru/selectel/306690', num: 3 }, { name: 'chill', url: `${cdnUrl}ChillCat`, text: 'трекер, который подскажет, когда пора отдохнуть', link: 'https://vc.ru/promo/288561-eye-tracker', num: 1 }, { name: 'cloud', url: `${cdnUrl}CloudCat`, text: 'котика: даёшь ему «пять», а\u00A0он делает бэкап в облако', link: 'https://vc.ru/dev/294799-maneki-neko', num: 2 } ] let buttonCycle = document.querySelector('.button--cycle') let buttonChoose = document.querySelector('.button--choose') let buttonMobile = document.querySelector('.button--mobile') let textField = document.querySelector('.selectel-footer-subtitle') let imageAgent = document.querySelector('.image--agent') let banner = document.querySelector('.selectel-footer') buttonCycle.addEventListener('click', cycleClick) buttonChoose.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) buttonMobile.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) let media = window.matchMedia("(max-width: 570px)") media.addEventListener('change', matchMedia) function matchMedia() { if (media.matches) { platform = 'Mobile' } else { platform = 'Desktop' } update() } matchMedia() function cycleClick(event) { sendEvent(`Promo ${articles[currentArticleNumber].num} Right`, 'Click') if (event) { event.preventDefault() event.stopPropagation() } window.open('https://vc.ru/tag/selectelDIY', '_blank') //cycle(event) } function cycle(event) { // incrementArticleNumber() textField.innerHTML = generatedText() imageAgent.src = articles[currentArticleNumber].url + platform + '.svg?3' imageAgent.setAttribute("class", "") imageAgent.classList.add('image--agent', articles[currentArticleNumber].name) banner.href = articles[currentArticleNumber].link } function update() { banner.href = articles[currentArticleNumber].link imageAgent.src = articles[currentArticleNumber].url + platform + '.svg' textField.innerHTML = generatedText() } function incrementArticleNumber() { previousArticleNumber = currentArticleNumber if (currentArticleNumber >= articles.length - 1) { currentArticleNumber = 0 } else { currentArticleNumber++ } } const sendEvent = (label, action = 'Click') => { const value = `SelectelDIY — loc: Footer — ${label} — ${action}`; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } }; function generatedText() { let defaultText if (platform === 'Desktop') { defaultText = `Мы тут собрали %text%. Хотите научим?` } else { defaultText = `Мы тут собрали %text%.` } return defaultText.replace('%text%', articles[currentArticleNumber].text) } function getRandom(min, max) { min = Math.ceil(min) max = Math.floor(max) return Math.floor(Math.random() * (max - min + 1)) + min } (function create() { currentArticleNumber = getRandom(0, articles.length - 1) cycle() let page = document.querySelector('.page--entry') if (page) { function insertAfter() { let parents = page.querySelectorAll('[data-id="7"]') let referenceNode = parents[0] referenceNode.parentNode.insertBefore(banner, referenceNode.nextSibling); loaded() } setTimeout(() => insertAfter(), 0) } }()) function loaded() { banner.classList.add('loaded') } loadImages([ `${cdnUrl}CameraCatDesktop.svg`, `${cdnUrl}ChillCatDesktop.svg`, `${cdnUrl}CloudCatDesktop.svg`, `${cdnUrl}CameraCatMobile.svg`, `${cdnUrl}ChillCatMobile.svg`, `${cdnUrl}CloudCatMobile.svg?3`, ]) function loadImages(urls) { return Promise.all(urls.map(function (url) { return new Promise(function (resolve) { var img = document.createElement('img'); img.onload = resolve; img.onerror = resolve; img.src = url; }); })); } }())
0
255 комментариев
Популярные
По порядку
Написать комментарий...
Denis Kiselev

Язык программирования Node.js. Хм. При этом - JavaScript отдельно. И TypeScript выше. Хм.

Ответить
96
Развернуть ветку
Джон Картошкин

Жаваскрипта так много, что его побили на части, чтоб других не обижать.

Ответить
49
Развернуть ветку
Владимир Толстиков

истинно так... Слава TypeScript!

Ответить
12
Развернуть ветку
Andrey Gordeev

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

Ответить
7
Развернуть ветку
Vasya Aksyonov

Все языки далеки от идеала, идеала вообще не существует и все языки говно, каждый по-своему

Ответить
25
Развернуть ветку
T R O P P I E

Пайтон топчик. Никаких ебаных скобочек.

Ответить
–4
Развернуть ветку
Haptob

Зато работа кода зависит от количества пробелов)

Ответить
1
Развернуть ветку
T R O P P I E

Криво написать не получиться)

Ответить
0
Развернуть ветку
Vasya Aksyonov

Если не сравнивать ни с чем, то конечно топчик лол, так про любой язык можно сказать

Ответить
0
Развернуть ветку
T R O P P I E

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

Ответить
0
Развернуть ветку
Afro Tray

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

Ну а в свете того, что ts даёт нормальную типизацию и некоторые другие фичи... Лично мне ts очень даже симпатичен, нисмотря на то, что основной язык у меня c#. 

Ответить
0
Развернуть ветку
Павел Морозов

Ноде жс крут

Ответить
2
Развернуть ветку
Антон Семенов

Да потому что рейтинг не про языки а про Топики. А редакция vc.ru недавно закончила курс от ЛохБокса что даже в пагинацию коментов не могут

Ответить
25
Развернуть ветку
symbix

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

Ни разу не видел хоть сколь-либо удобной реализации.

Ответить
30
Развернуть ветку
Антон Семенов

Я про бэкенд говорю. У vc.ru идет 1 запрос на ВСЕ комментарии. Среднее время ответа 20 секунд если комментариев 900. А если их будет 10000? Простая пагинация и банально ограничение респонса это какие-то очевидные вещи для младенцев. А vc.ru не умеет

Ответить
4
Развернуть ветку
symbix

Когда со своего начального уровня знаний кажется, что что-то сделать просто, сделает остановиться и продумать все детали. Потому что тут всё не так просто. Бэкенд должен позволять реализовать логику фронтенда, а вот она совершенно не очевидна.

При древовидных комментариях банальный лимит-офсет ничего не даст. Например, из 10000 комментариев 9000 могут быть ответами на первый ответ на первый ответ на первый ответ на первый ответ на первый комментарий. Да и по какому полю order? По materialized path? И отрезать ветку посередине в случайном месте? И подгружать по скроллу? С таким подходом будет более-менее окей для первого прочтения комментариев, но при ведении дискуссии придется скроллить и в итоге все равно грузить всё подряд, ждать каждый раз загрузки по мере прокрутки, пока докрутишь до своей ветки - это не юзабилити, а задница. Или по первому уровню с оконной функцией? Что тогда делать, если большинство комментариев не на первом уровне, или вырожденный ранее приведенный пример? Куча вопросов.

Так что это уже не пагинация, а загрузка некоторой части дерева комментариев и дальнейшая подгрузка поддеревьев по определенному действию (явному, по нажатию «загрузить ещё», или неявному, по прокрутке). И сделать это удобным - довольно непросто. Вероятно, понадобятся эвристики, определяющие, какие комментарии сразу загружать, а какие скрывать, исходя из вероятности, что они людей заинтересуют, чтобы максимизировать «интересность» дефолтного вида. Например, отдавать в рамках определенного лимита предпочтения наиболее заплюсованным комментариям среди старых, но при этом ещё сразу загружать новые комментарии, особенно первого уровня. Что-то подобное делают на Реддите (но рассуждать о Реддите и удобстве интерфейса в одном предложении как-то даже смешно).

А ещё предлагаю подумать над тем, как тогда будет устроена VC-шная кнопка перемещения по новым комментариям. И как можно сделать более-менее эффективное кэширование с полноценной инвалидацией и приемлемым соотношением hit/miss.

Я уверен, что подобная дискуссия у разработчиков движка VC была, все эти проблемы были озвучены, и в итоге менеджер разумно решил - да хер с ним, грузи всё сразу.

Ответить
15
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
2
Развернуть ветку
Stavr Ognev

Использовать noSQL?
Хотите настоящей уличной магии - посмотрите скролл чата Дискорда с историей лет в 8.

Ответить
0
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Stavr Ognev

Ну так я про это и написал. Думаю, тут как раз классическая (ещё и "бесплатная)" СУБД используется.
P.S. Никто не пишет коммерческие проекты с прицелом на рост "через много лет". Дыры в стартовой архитектуре латаются уже у идущего на полных парах судна.

Ответить
0
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
1
Развернуть ветку
Степан И.

Думаю, тут как раз классическая (ещё и "бесплатная)" СУБД используется.

OpenSource != бесплатно.
Платные типа Oracle используются в банках.
Остальные открытые (как вы говорите "бесплатные") идут с платной поддержкой.
Сейчас нет тормозных баз, есть кривые запросы, кривой код, само построение базы и архитектура.

Ответить
1
Развернуть ветку
Stavr Ognev

 OpenSource != бесплатно.
Зато есть менеджеры проектов, которые среди OSrc-решений выбирают не платную поддерживаемую версию, а именно что бесплатную "community". А потом ещё на сопровождение её либо "да своих людей обучим, как два пальца", либо ищут на вакансию сотрудника с ценником в 2 раза ниже рынка.

Ответить
0
Развернуть ветку
Ярослав Тихонов

Отсутствие решения это тоже решение. То, что есть сейчас - работает плохо. 

Работало бы лучше при одной из перечисленных опций? Возможно. 

Возможно лучше плохого

Ответить
1
Развернуть ветку
Антон Семенов

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

Ответить
–3
Развернуть ветку
symbix

Про начальный уровень изначально было обоснованное предположение: "Уверенность чаще порождается невежеством, нежели знанием." - Чарльз Дарвин.

То, что вы не поняли 90% мной написанного, предположение подтверждает.

Ничего страшного, научитесь со временем.

Ответить
2
Развернуть ветку
Антон Семенов

давай досвидания тролль вкшный

Ответить
0
Развернуть ветку

Комментарий удален

Развернуть ветку
Антон Семенов

К чему весь разговор, если 100 юзеров сделают запрос на 10000 коментов, под каждого выделится под 500мб и хост упадет накхер. Поставьте хоть какую-то пагинацию. Тут нет рокет-сайнса хотя я думаю ты угарнул. Вот на реддите решение. А древовидные коменты конечно надо правильно хранить. Если правильно хранить так и правильно пагинацию организовать нужно

Ответить
0
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Антон Семенов

Как вообще можно как-либо оправдывать респонс данных без ограничений? Это халтурство еbаное и все. Кстати благодаря твоему коменту статья открывается на 5секунд дольше 😂😂

Ответить
0
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Wonabeez Doratie

Я видел здесь пагинацию, хотя... Серьезно ее здесь нет?(

Ответить
0
Развернуть ветку
Всвиторе

А зачем пагинация комментариев? Здесь сразу глянул и на душе хорошо. На пикабу ещё можно смириться с подгрузкой комментариев, но на мобиле это ещё тот кошмар. Реддит отличился во всей красе. Настолько тупорылой реализации я ещё не видел. Здесь одна из самых лучших реализаций комментариев где я либо видел. 

Ответить
0
Развернуть ветку
Антон Семенов

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

Ответить
0
Развернуть ветку
Всвиторе

А смысл этой оптимизации если я как пользователь всё равно прочту эти комментарии? Ладно если их было больше 1000 как на пикабу. Тут в среднем до 400 на статью. 

Ответить
0
Развернуть ветку
Антон Семенов

Бэкенд не может выделять так много памяти под одного клиента. Представь что коментов 10000. Я делаю запрос, бэкенд выделяет 500мб под меня. Так сделают еще 100 человек. И того начнет выделяться под 50гб озу. И все хана серву, либо жесткие фризы. + исходящий трафик улетит в ебеня, что тоже стоит бабла

Ответить
1
Развернуть ветку
Всвиторе

Твой комментарий занимает 301 байт. Умножим на 10000, это будет одна страница. Получаем 3МБ полезной нагрузки. Ситуация нереалистичная, но допустим. Из задачи у нас одновременных подключений 100 человек, получим 300МБ для передачи данных.

Типичных хостинг имеет 100Мбитное подключение на выходе, но это же VC. Давай возьмём от Selectel хостинг с 500Мбитным подключением. 

Калькулятор показывает, что на всё про всё ему потребуется ~5 секунд на всех 100 участников. Предполагаем что большая часть пользователей имеет интернет больше 50Мб/с. Загрузка одним пользователем этого объема информации занимает меньше секунды. 

Вывод:

Ответить
0
Развернуть ветку
Всвиторе

Кстати, выделяемая память в корне зависит от используемых технологий. В PHP вроде ~20Мб на процесс, в GO ~1-3Мб. В общем ни о чём, тем более эти процессы живут менее 100мс. 

Ответить
0
Развернуть ветку
Ilya Weber

Больше похоже на рейтинг технологий, В который языки включены как их часть. 

Ответить
2
Развернуть ветку
symbix

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

Логичнее было бы, конечно, ввести разные категории типа JS/Frontend и JS/Backend. Видимо, оставили как есть для сравнения с историческими данными, когда JS автоматически ассоциировался с фронтендом.

Ответить
0
Развернуть ветку
Джон Картошкин

Но ведь TypeScript и там и там 🤔

Ответить
0
Развернуть ветку
symbix

Да, с этим отдельная проблема :)

Впрочем, насколько я понимаю, там множественный выбор, что несколько компенсирует.

Ответить
0
Развернуть ветку
Топольмэн Жа

Не надо сводить с ума. Js он и есть js. Есть пара библиотек на ноде, которых нет в браузере. Но это не повод считать бэк другим языком))

Ответить
0
Развернуть ветку

Комментарий удален

Развернуть ветку
Denis Ulyanov

Раст как Питер - его лучше любить издалека

Ответить
64
Развернуть ветку
Джон Картошкин

Ну он сложный, безусловно, но я не думаю что C и C++ сильно легче любить.

Ответить
7
Развернуть ветку
Vasya Aksyonov

Ровно насколько он сложный, настолько он ещё и приятный в то же время :) Но это всё хайп, никто на нём не пишет в таких количествах на самом деле, потому что это сложно и редко кому и когда нужно :)))

Ответить
11
Развернуть ветку
Джон Картошкин

Я уже 5 лет пишу на Rust на буржуев за деньги. Просто он в финтехе пока в основном востребован.

Ответить
8
Развернуть ветку
Vasya Aksyonov

Это вам со своей колокольни так видно, с моей колокольни в финтехе все пишут на чём попало и ни разу на расте. Дело вообще не в области применения, а в задаче

Ответить
23
Развернуть ветку
Джон Картошкин

Да не, я же не говорю что в финтехе пишут только на расте. Я про то, что там под него есть вакансии. Если кому надо.

Ответить
2
Развернуть ветку
Евгений Быков

Только на расте? Лол, нет

Ответить
–3
Развернуть ветку
Евгений Быков

За что минусите? Либо сообщение, на которое я отвечал, было отредактировано, либо я не так понял)

Ответить
0
Развернуть ветку
Названый бас

Комментарий удален по просьбе пользователя

Ответить
–1
Развернуть ветку

Комментарий удален

Развернуть ветку
Alexander B

Выглядит так, будто ты вообще не понял ветку :)

Ответить
0
Развернуть ветку
Evgeny Afanasev

Финтех и на джаве пишут и на скале и на js, когда дело касается фронта и даже на пыхе, когда ПМ создаёт задачей очередное измерение в ад.
Ну а так в целом верно. Раст неплохо захайпил на блокчейне, а также там, где нужна скорость

Ответить
0
Развернуть ветку
Павел Морозов

Как может быть приятным язык, где самому надо следить за памятью, где низкоуровневые указатели, перемешаны с высокоуровневым STL и Boost. Любить C++ можно лишь в том случае, если ты любишь страдать 😫 и нравится мазохизм

Ответить
10
Развернуть ветку
Victor Pomortseff

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

Язык - это инструмент. Вот есть столярный инструмент. Те же резцы. Они острые, острым резцом работать приятно, хотя есть риск порезаться. Можно взять пластиковый резец. Им не порежешься, но работать им, особенно по твердому дереву, невозможно.

Ответить
9
Развернуть ветку
Джон Картошкин

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

Ответить
3
Развернуть ветку
Victor Pomortseff

Согласен. Но тут стоит думать не в сторону создания "суперязыка на все случаи жизни", а в строну средства, позволяющего интегрировать несколько языков.

Вот я сейчас пишу под платформу IBM i (бывшая AS/400). И там есть замечательная вещь - ILE (Integrated Language Environment).

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

За подробностями туда: https://www.ibm.com/docs/en/i/7.3?topic=languages-ile-concepts

Основной язык у нас - RPG. Там очень многие вещи сделаны удобнее чем в С/С++ (работа со сроками, работа с БД и проч). Но иногда встречаются вещи, которые проще и быстрее сделать на С/С++ (обычно это касается прямой работы с памятью или различными системными объектами типа, например, сокетов).

Пишется нужная функция на С/С++ и вызывается из RPGшного кода.

Ответить
5
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
–1
Развернуть ветку
Victor Pomortseff

Э-э-э... AS/400 появилась еще до дотнета. В 1988-м году.

Ответить
2
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Victor Pomortseff

Так IBM i это и есть AS/400. Там просто ребрендинг был.
Там вообще все сложно с наименованиями.
Вроде как изначально платформа называлась AS/400, операционка - OS/400. Потом платформу переименовали в eSeries, операционку в i5/OS сейчас платформа System i, операционка IBM i.
Но все концепции были заложены еще на этапе создания /400. Отсутствие ассемблера (вместо него есть промежуточный слой машинных инструкций MI в рамках концепции TIMI). Поддержка языков программирования CL, RPG, COBOL, C/C++ на уровне ОС (т.е. все компиляторы есть часть самой системы - компиляция производится командой ОС а не вызовом какой-то установленной дополнительно программы), БД DB2 как составная часть системы (там нет такого "подключиться к серверу, подключится к БД" - просто есть системный объекты "физическкий файл", логический файл" с котjрыми можно работать хоть прямым доступом, хоть SQL который тоже поддерживается на уровне системы и которым в принципе можно делать почти все)

Ответить
2
Развернуть ветку
Vasya Aksyonov

Я говорю про раст же, а не плюсы лол

Ответить
3
Развернуть ветку
Павел Морозов

Сорри перепутал🙈

Ответить
2
Развернуть ветку
Крипто Кун

Мы тебя прощаем бро

Ответить
7
Развернуть ветку
Названый бас

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Alexander B

Но зачем перемешивать низкоуровневые указатели и stl?

Да, язык даёт такую возможность, но надо понимать, что он не для этого создавался. Как в том же go (да и в rust вроде) есть модули unsafe - иногда они нужны как необходимое зло.

Следить за памятью - это просто особенность языка. Кому-то напротив gc не нравится. Короче, этот аргумент - голимая вкусовщина.

И да, любой язык будет выглядеть кошмарно, если на нём говнокодить

P.S. Не слишком люблю плюсы, мне просто эти конкретные аргументы не понравились.

Ответить
0
Развернуть ветку
Анатолий Емелин

Смотря, что пишите.

Ответить
1
Развернуть ветку
Денис Обрезков

А где его использовать? Для бэкенда есть Go, для дата сайнс - Python, для embedded - С, для финтеха часто плюсы используют. Раст же помню то для бэкенда себя позиционировал, потом они решили, что он для встраиваемых систем хорош, как сейчас растовцы себя позиционируют?

Ответить
2
Развернуть ветку
Vasya Aksyonov

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

Ответить
13
Развернуть ветку
Денис Обрезков

Раст никак себя не позиционировал по области применения

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

Ответить
1
Развернуть ветку
Джон Картошкин

Фишка в бронебойным управлении памятью. Когда хочешь/надо C++, но боишься сломать комп, карьеру, жизнь.

Ответить
3
Развернуть ветку
Денис Обрезков

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

Ответить
1
Развернуть ветку
symbix

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

Вот один из моих любимых примеров из блога Лева Валкина:

Вопрос: https://lionet.livejournal.com/139828.html
Ответ: https://lionet.livejournal.com/140057.html

В этом смысле плюсы из 80-х, так сказать, «си с классами», намного проще для понимания. 

Ответить
3
Развернуть ветку
Victor Pomortseff

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

Ответить
1
Развернуть ветку
symbix

Ну так придумали темплейты, которые случайно оказались Тьюринг-полными в компайл-тайм, а дальше уже сложно остановиться:)

Ответить
1
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку

Комментарий удален

Развернуть ветку
Всеволод Ляшкевич

До Раста там всё равно далековато

Ответить
3
Развернуть ветку
Александр Панков

Фронтэнд на расте?

Ответить
0
Развернуть ветку
Vasya Aksyonov

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

Ответить
2
Развернуть ветку
Michael StJacques

WASM

Ответить
–1
Развернуть ветку
pongo

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

Ответить
4
Развернуть ветку
Карим Мусаев

А почему в финтех больше С++ ?

Ответить
0
Развернуть ветку
Victor Pomortseff

А кто сказал что там больше С++?
В Финтехе огромное количество работающего кода написано на коболе. Да, это легаси дремучее, но оно работает и выводить из эксплуатации его никто не собирается (были попытки - Банк Содружества Австралии попробовал, обошлось это в 5 лет работы и более $700млн плюс глюки типа обнуления кредитной задолженности по всем клиентам в процессе перехода - других желающих пока не видится).
Сейчас новое на коболе уже не пишут, но много финтеха (на западе, у нас меньше), кто работает на платформе AS/400, используют RPG - тоже язык для коммерческих расчетов как и кобол.
С/С++ хорош для системных вещей. Но и только.

Ответить
0
Развернуть ветку
Кирилл Макеев

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

Ответить
1
Развернуть ветку
Victor Pomortseff

Да потому что банки это тоже финтех. Как одна из его областей.

Ответить
0
Развернуть ветку
Кирилл Макеев

В трейдинге и HFT больше C++, потому что там лоу латенси нужно. Страуструп поэтому в морган стенли работает.
а финтех это очень широкая область в плане технологий, где есть всё. Начиная от мобильного приложения и т.п.

Ответить
0
Развернуть ветку
Victor Pomortseff

HFT отдельная тема. Там математика и высокая скорость расчетов важна.

Ответить
0
Развернуть ветку
Alexander B

Любить чистый C очень легко. Этот язык прекрасен в своей простоте (не лёгкости - разрабатывать на C тяжело, - а именно простоте).
Любить C++ тоже легко. Он прекрасен в своей сложности.

Любить разрабатывать на них - совсем другая история ;)

Ответить
1
Развернуть ветку
Victor Pomortseff

Разрабатывать что-то объемное что на С что на С++ тяжело. Есть опыт больших проектов на плюсах.

Мне потому и нравился изначальный вариант С++ (который "С с классами") что он прост и прозрачен как С, но на нем легче реализовывать объектную архитектуру приложения. Например, когда структура объектов программы повторяет физическую структуру предметной области в которой эта программа работает - каждый физический объект (сущность) имеет свое "цифровое" отображение в программе.

Ответить
0
Развернуть ветку
Ivan Zenkov

На Stack Overflow какая-то своя атмосфера

Ответить
45
Развернуть ветку
Денис Демидов

Похоже на рейтинг языков, которые активно изучают, а не просто используют. 

Ответить
9
Развернуть ветку
Семен Смирнов

Чем на VC в плане языков программирования?

Ответить
2
Развернуть ветку
Хороший

VC не про языки программирования, тут политоты больше, чем разработки.

Ответить
2
Развернуть ветку
Мутный корабль

Инвестиции еще, ну и про стартапы бывает)

хотя это тоже с политотой связано. Называется по другому правда, "бизнес - климат", к примеру. 

Ответить
0
Развернуть ветку
Дешевый блик

Комментарий удален по просьбе пользователя

Ответить
1
Развернуть ветку
Павел Морозов

Какая-то экзотика все

Ответить
12
Развернуть ветку
Павел

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

Ответить
31
Развернуть ветку
Джон Картошкин

Это, кстати, хороший аргумент. С нам работал чел, который ну просто люто ненавидел раст. Его, конечно, уволили, но он как раз пришёл в раст не из хобби.

Ответить
5
Развернуть ветку
Бабка в засаде

Мне Раст показывали ребята наши, у меня стойкая ассоциация с перлом возникла из-за чёрточек и других символов которых там нахерачили гору. Апофеоз всего этого - брэйнфак. Имхо раст слегка говенный из-за этого. А из таких типа «убийц си» больше всего понравился D Lang 

Ответить
5
Развернуть ветку
Labelig

D классный, да

Ответить
0
Развернуть ветку

Комментарий удален

Развернуть ветку
Всеволод Ляшкевич

Раст уже не экзотика
Его используют многие известные компании

Ответить
2
Развернуть ветку
Labelig

Ну Haskell тоже многие известные компании используют, в частности Facebook и Standard Chartered, а Microsoft активно поддерживает его разработку.

Но Haskell до сих пор экзотика.

Ответить
0
Развернуть ветку
Кирилл Макеев

В мире 1С и дельфи, наверное.

Ответить
0
Развернуть ветку
Дима Анонимный

Ну через несколько лет в топе будет какой-нибудь Zig.

Ответить
12
Развернуть ветку
Бабка в засаде

И фреймворк для него Hail 

Ответить
25
Развернуть ветку
Бабка в засаде

И в стандартной библиотеке будет 1488 файлов 

Ответить
11
Развернуть ветку
Aydar Sultanov

Писать на нем будут иметь право только двухметровые голубоглазые блондины?

Ответить
5
Развернуть ветку
Бабка в засаде

Да, и только доносы в соответствующие органы 

Ответить
0
Развернуть ветку
Мутный корабль

И вот эти вот парады с флагами тоже будут

Ответить
0
Развернуть ветку
Michael Wylsakom

ставь лайк, если пишешь на html и тебе плевать на эти рейтинги 

Ответить
9
Развернуть ветку
Всеволод Ляшкевич

*если программируешь на html

Ответить
25
Развернуть ветку
Alexander B

Как президент Туркменистана?

Ответить
0
Развернуть ветку
Станислав Кудрявцев

Друг, html это просто форматирование(разметка) текста и все, к программированию практически ни имеет отношения.

Ответить
–3
Развернуть ветку
Всеволод Ляшкевич

душнила

Ответить
29
Развернуть ветку
Alexander B

Вы такой душный потому что фронтендер, или просто от природы?

Ответить
1
Развернуть ветку
Эмилия Теплова

Разработчики падки на хайп, сейчас вот в теме Rust, но это временно.

Тут интересный момент что настоящий программист легко переходит с синтаксиса на другой. А лохопеды после курсов так не могут. Для них и Python это сложно. Короче лучше сразу ставить крестик на карьере в IT, потому что там всё меняется каждые 5 сек. Случайные люди будут на инфарктах ежедневных.😂

Ответить
13
Развернуть ветку
danil nik

Сходили на курсы и составили мнение об айтишечке?

Ответить
6
Развернуть ветку
Антон Семенов

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

Ответить
2
Развернуть ветку
Labelig

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

Но пока что я что-то не вижу, чтобы Rust активно использовался. Его провидений в частности мешает огромная кодовая база уже написанная на C и C++.

Ответить
2
Развернуть ветку
Джон Картошкин

Думаю раст надолго. Хотя бы потому, что Линуса он него не стошнило.

Ответить
0
Развернуть ветку
Юрий Новинский

Да что ж так демотивируешь то? Личный опыт? ))

Ответить
1
Развернуть ветку
Эмилия Теплова

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

Тут неважно программист, артист, бухгалтер, бизнесмен или архитектор - только если есть интерес к этому ремеслу и желание тратить на это время и фокусировать внимание - работа будет продуктивной.

Ответить
0
Развернуть ветку
Stavr Ognev

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

И именно в этот период тебя обычно хватают за шкирку ВУЗы (не без участия 4 вышеперечисленных социальных групп, в авторитарности которых молодая личность начинает сомневаться, но совсем отказаться не готова), вдалбливая те самые системные привычки.

Самостоятельно преодолеть этот поток давления почти нереально. Так и выходит, что многие повзрослевшие люди "не на своём месте", заняты делом, которое им не интересно, не развлекает, создаёт депрессию и занимаются они им только ради денег. Исходя из этих предпосылок, обвинять таких в том, что они пытаются пойти в другую (совершенно не интересную им) сферу, только потому что там хорошо платят - как минимум глупо. Потому что они и нынешним делом заняты только потому что платят, а не потому что "хочется и умеется".

Ответить
0
Развернуть ветку
Эмилия Теплова

Выбрать дело из-за денег это ещё одна ошибка.

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

Причем это делает жизнь всех людей в мире хуже. 

Ответить
0
Развернуть ветку
Stavr Ognev

Ваше утверждение было-бы справедливо, если-бы любая сфера могла приносить достаточно денег для пропитания, обновления одежды, приобретения жилья и отпуска (за пределы повседневной среды) 2 раза в год. Т.е. необходимых всем вещей, в общем-то. Про средства роскоши никто не говорит, именно про базовые потребности.
А в условиях, когда большая часть профессий на рынках страны не может обеспечить тебя необходимым минимумом (жильём, в частности), обвинять людей в том, что они хотят выживать - похоже на уподобление той самой американской "звезде интернетов" с её "бездомные? да просто купите!"

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

Ответить
0
Развернуть ветку
Эмилия Теплова

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

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

Это всё статистика обычная.

Какая профессия не приносит достаточно дохода на профессиональном уровне?

Тут главное достигнуть этого уровня! И это не просто, но разве так и не должно быть?
(но это проще и приятнее делать когда тебе нравится и есть желание тратить время именно на это).

Ответить
0
Развернуть ветку
Кирилл Макеев

тут нужна картинка приплетаю_лохопедов_после_курсов.жпг

Ответить
1
Развернуть ветку
Степан И.

сейчас вот в теме Rust, но это временно.

Очень сомневаюсь. Учитывая что он обрёл официальную поддержку в Linux и гугл его активно форсит.

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

Ответить
1
Развернуть ветку
Эдуард Зиновьев

Так на любой сложной работе случайные люди во всем, что дальше от базовых навыков и шаблонов начинают "плавать". Но все-таки терпение и труд все перетрут))

Ответить
0
Развернуть ветку
Дмитрий Иванов

Я за Питон. Простой, логичный, понятный как Доширак за 40 рублей.

Ответить
8
Развернуть ветку
Мартынов Дмитрий

__ иоченькрасивый__

Ответить
12
Развернуть ветку
Джон Картошкин

__точно__

Ответить
0
Развернуть ветку
T R O P P I E

Он эстетически самый красивый со всех

Ответить
0
Развернуть ветку
Станислав Кудрявцев

На курсе все сдавали проекты на нем, я один делал на .net)

Ответить
3
Развернуть ветку
Джон Картошкин

Только кроме twisted, он реально как лапша.

Ответить
0
Развернуть ветку
Jim Brighthead

Любить - не значит жениться.

Ответить
10
Развернуть ветку
Zid

Черт возьми, вот к чему этот пост, ради того чтоб написать на хайповую тему?

Ответить
–13
Развернуть ветку
nochnoy.ru

Действительно. И все остальные посты тоже к чему.

Ответить
12
Развернуть ветку
Vasya Aksyonov

К чему эта жизнь? Всё ради хайпа?

Ответить
26
Развернуть ветку
Дмитрий Беленов

Три тысячи чертей! Что за каналья опубликовал сие писание!

Ответить
0
Развернуть ветку
Superposition

Слава Ржавчине 🦀

Ответить
8
Развернуть ветку
Мировой коктейль

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Dmitry Lesnikov

она и для новых прикольная

Ответить
1
Развернуть ветку
Мировой коктейль

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
7
Развернуть ветку
Джон Картошкин

Я искренне пытался выучить Haskell, и много чего ещё. Но у функциональных языков есть будто точка насыщения, когда код побольше, его становится практически невозможно развивать. Думаю я в этом не одинок, если посмотреть на Haskell и Erlang, больших проектов в них чуть меньше чем них..я. С Rust я смог зайти очень очень далеко.

Ответить
1
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Джон Картошкин

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

Ответить
3
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку

Комментарий удален

Развернуть ветку
Bob Sinclar

для это есть OCaml. ReasonML - для фронта. С него и родился React с jsx

Ответить
0
Развернуть ветку
Alexander B

Раст сильно практичнее хаскеля. По сути, Раст - это просто "ещё один язык". В то время как хаскель - эзотеричная херня для задротов, хоть и не лишённая шарма

Немного некорректная аналогия, короче

Ответить
0
Развернуть ветку
Make Luv

Каждый день бываю на SO. Но ни разу не голосовал. Я хз о чем может говорить такой рейтинг. Джулия какая-то в топе. Ей кроме создателя кто-то пользуется? Для чего? 

Ответить
5
Развернуть ветку
Vsevolod Cherepanov

Джулию активно используют в биоинформатике для анализа последовательностей днк

Ответить
4
Развернуть ветку
Александр Полевой

"Какая-то Джулия" - это современная альтернатива матлабу, R и Python в приложении к научным вычислениям и data science. Пользуются ей, по ощущениям, в основном в академии, где ей самое место. Возможно, через пару лет ей удастся пробиться в мир корпоративного дата сайенса.

Ответить
4
Развернуть ветку
Make Luv

Спасибо, не знал. 

Ответить
0
Развернуть ветку
Julia N

Я уже хотела начать изучать этот язык с интересным названием) вместо C#, который даже в рейтинг не попал. 

Ответить
3
Развернуть ветку
Борис Моренко

Интересно как рейтинг строили. Надеюсь не исходя по количеству вопросов)

Ответить
6
Развернуть ветку
Sam Beckett

А еще стековерфло могут строить рейтинг на основе своих данных?

Ответить
1
Развернуть ветку
Bender Rodriguez

опрос провели, по ссылке даже вопросы написаны какие задавали

Ответить
1
Развернуть ветку
Станислав Кудрявцев

Ни понял, такое ощущение, что я один на работе пишу на С#, Python, SQL, а остальные на Rust, TypeScript и прочем...
Блин в списке даже Java нет, обычно она во всех щелях и рейтингах...

Ответить
4
Развернуть ветку
Мутный корабль

Комментарий удален по просьбе пользователя

Ответить
5
Развернуть ветку
user_90123129312

SQL офигенный, кстати. Мне кажется зачастую люди останавливаются на сверх банальных запросах, а далее теми же pandas делают дальнейшие манипуляции. Тем самым не понимая насколько крутой язык на самом деле. На работе переписал кучу кода на stored procedure, конечно, они в разы длинее, но скорость выполнения улётная.

Ответить
0
Развернуть ветку
T R O P P I E

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

Ответить
1
Развернуть ветку
user_90123129312

Лол, дайте почитать :) Так тяжело сказать это хорошо или плохо, что половина работников ушла.

В моём случае это QC при производстве приборов. Стало удобнее, чем отправлять результаты туда-обратно между SQL сервером и AWS Lambda или ECS/EC2. Лимиты (т.е. именно логика) всё равно прописывает другой бэкэнд в SQL. По итогу я убрал лишнюю lambda и ненужную зависимость от амазона.

Ответить
0
Развернуть ветку
T R O P P I E

https://habr.com/ru/company/lingualeo/blog/515530/

Когда мы поделились планами с разработчиками, стало понятно, что команда не готова к изменениям. Большинство людей покинули компанию: остались только те, кто пришёл совсем недавно. Чтобы провести миграцию, мы решили заново собрать команду разработки.

Ответить
0
Развернуть ветку
user_90123129312

Честно, не вижу ничего плохого. Где я работаю что-то аналогичное теперь. Есть монолитный продукт, который продолжает разрастаться, новые фичи действительно занимают где-то 2 месяца на внедрение. Когда нужно что-то сделать поверх, то пришлось иммитировать "прокси" для MODBUS протокола и прочий бред. У нас железо, а не веб.

Как выход из этой ситуации, сейчас рассматривается создание нового продукта (железо + софт), а руководство хочет написать бэкэнд другими разработчиками и в другой стране (с более высокой конкуренцией). Текущие разработчики ничего нового придумать не могут, они отмахиваются тем сколько уйдёт времени и т.д. Выгнать тоже не получается. Пока отмахивались, ушло 2 года. Поменяли верхнее руководство, теперь оно взялось за ступень ниже.

Ответить