LINUX.ORG.RU
ФорумTalks

На чём разрабатываются большие проекты?

 


0

3

Скачал тут исходники хромиума, почти гиговый тарбол. И стало интересно какая IDE это потянет и какое железо нужно. Нагуглил такое https://chromium.googlesource.com/chromium/src/+/HEAD/docs/README.md#Integrated-Development-Environment-IDE_Set-Up-Guides

Integrated Development Environment (IDE) Set Up Guides

    Android Studio - Android Studio for Android builds
    Atom - Atom multi-platform code editor
    CLion - CLion IDE, supports GUI debugging.
    Eclipse for Android - Eclipse for Android
    Eclipse for Linux - Eclipse for other platforms (This guide was written for Linux, but is probably usable on Windows/MacOS as well)
    EMACS Notes - EMACS commands/styles/tool integrations
    Qt Creator - Using Qt Creator as an IDE or GUI debugger
    Visual Studio Code - Visual Studio Code

Интересно какое железо у разработчиков хромиума. Ну и других крупных проектах вроде Firefox или Linux.

★★★★

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

Harald ★★★★★
()

Интересно какое железо у разработчиков хромиума. Ну и других крупных проектах вроде Firefox или Linux

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

byko3y ★★★★
()

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

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

Я думаю, что ТС про индексацию говорит. Ну вот как в IDEA, когда она знает, какой файл куда относится и как с чем слинкован, и позволяет, например, отрефакторить переменную или класс для всего проекта целиком.

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

У меня на i5 6го поколения ungoogled chromium собирается в zram за 12 часов примерно (16 гигов оперативки всего). Какие проблемы собрать быстрее если если больше потоков?

vitruss ★★★★★
()

Конкретно хром раньше vim-ом в основном пилили, потому что ide от таких толстых проектов очень плохо делается.

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

У меня на i5 6го поколения ungoogled chromium собирается в zram за 12 часов примерно (16 гигов оперативки всего). Какие проблемы собрать быстрее если если больше потоков?

У меня почти такой же Skylake, но жужжать кулером он будет. Это десктоп, довольно неслабый даже по сегодняшним меркам. Но для комфортной компиляции хрома нужно хотя бы 32 ядра и 64 Гб оперативы.

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

Конкретно хром раньше vim-ом в основном пилили, потому что ide от таких толстых проектов очень плохо делается

Ты путаешь IDEA с IDE в общем.

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

поверь, любой ide плохо от проекта размером с хром

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

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

Боюсь что даже жирная многомилионная борода в банках на джаве это блоха рядом с хромоножкой. Голый хромиум это 35 лямов строк кода с дикой архитектурой на 36 языках программирования. А если вспомнить ещё то что там в либах есть, то вообще всё станет печально.

ПРУФ

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

Голый хромиум это 35 лямов строк кода с дикой архитектурой на 36 языках программирования

Там далеко не весь код сразу используется. Тем более HTML не индексируется. Это как мой Firefox с 7500 открытых вкладок, который, однако, вполне бодро бегает и даже немного памяти жрет.

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

И? IDE от этого стало легче индексировать? Или у вас там квантовые компы завезли?

Не путай индексацию с использованием индекса. СУБД уже много лет назад решили проблемы индексации сотен гигабайт, но современная IDE с трудом справляется с единицами гигабайт. Я понимаю, что текст на типичном C++ исключительно тяжело парсить и на самом деле он раз так в 10 больше физического объема сорцов, но все равно это сомнительное оправдание. Как правило, в таком большом проекте программисту одновременно не нужно знать даже десятой части всего кода. Да, первичная индексация будет долгой, при открытии какого-то файла тоже могут быть подвисания на пару секунд, но в остальном у IDE нет никакой причины долго висеть и жрать кучу оперативы, кроме того, что разрабы просто срезали углы и решили «да пофиг, будем грузить всё».

byko3y ★★★★
()

Странно, что в списке vim нет.

urxvt ★★★★★
()

Помню вот сотрудники из PVS-Studio очень удивлялись, когда узнали о том, что разработчики Google пишут Chromium внезапно не в Visual Studio.

Разработчики Chromium не любят Visual Studio, не используют Makefile, но при этом у них фантастически качественный код. Как же так?

Например, при разработке Chromium не очень-то активно, оказывается, используют Visual Studio. Причина проста – Chromium содержит огромное количество проектов, и IDE от Microsoft откровенно говоря «не тянет» такое количество. «Ага!» — сказали суровые линуксоиды… «Еще бы!!!» Но при разработке Chromium не используют и линуксовые Makefile. Ровно по той же самой причине – стандартный GNU make «не тянет» такое количество проектов и работает слишком долго.

Знаю троих разработчиков Chromium, все они не используют Visual Studio и Windows, обходятся текстовыми редакторами вроде vim и Textmate под Linux и OS X.

https://habr.com/ru/company/pvs-studio/blog/204342/

EXL ★★★★★
()

Кто кодит/кодил большие проекты за деньги, вим вообще котируется как подобие IDE, или им только конфиги править через путти? Без наезда, мне правда интересно.

yu-boot ★★★★★
()
Ответ на: комментарий от fernandos

А релизы все равно собираются на отдельной билд-машине.

В контексте больших проектов интереснее вопрос декомпозиции, управления требованиями, контроля качества. Что сейчас в тренде у архитекторов?

aiqu6Ait ★★★★
()

Интересно какое железо у разработчиков хромиума.

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

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

16 гигов для 4-8 потоков должно хватить.

Для медленной сборки на полдня – да. Для типичного «developer flow» разработчика Chromium – нет.

EXL ★★★★★
()
Ответ на: комментарий от yu-boot

По моему криворукому опыту - если пытаться использовать что vim что emacs как IDE с максимумом плюшек, все заканчивается печально - упирается в качество самого имакса и вима. Слишком кривые костыли все их умные плагины, и начинает тормозить похлеще Атома и Эклипса, да еще и глючить. По этой причине я забил делать из них IDE. И сейчас использую дефолтный vim постоянно в качестве ad-hoc редактора (но не основного). А имакс у меня не прижился - даже минимальная его конфигурация выглядит монстроузно.

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

zendrz ★★
()
Ответ на: комментарий от yu-boot

Странный вопрос, когда разработчики устраиваются в компанию и их бросают на крупные проекты, они не ломают свои привычки и пишут код в чём им удобно. Главное лишь чтобы Coding conventions соответствовали. Если над разработчиками будет стоять менеджер с палкой и говорить что писать надо в IDEA или Visual Studio потому что там «модно», продуктивность разработчика для которого эти программы не явлюятся хорошо изученными серьёзно упадёт.

А Vim’еров среди разработчиков дофига, как показывает тот же опрос на Stack Overflow. В позиции «DevOps» vim вообще занял второе место сразу после Visual Code в который влиты тонны бабла. Это уже говорит о его неплохой популярности.

https://insights.stackoverflow.com/survey/2019#development-environments-and-tools

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

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

Или нет если не пересобирать все каждый раз (необходимость так делать просто указывает на говноархитектурный кусок несопровождабельного монолита)

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

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

А другого опенсорса у нас для вас нет.

d_a ★★★★★
()

Как я понял, автор cquery как раз эту проблему решал (жирнопроекты и навигация по ним).

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

Да ладно, часов 6 масксимум он собирается на днищебуке и в нём всего было 8гб из оперативы. На нормальном буке он быстрее должен собраться, сейчас же есть на райзенах с 16 потоками.

InterVi ★★★★★
()

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

snizovtsev ★★★★★
()

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

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

Тебе там, похоже, уже поиск по вкладкам нужен

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

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

Помню вот сотрудники из PVS-Studio очень удивлялись, когда узнали о том, что разработчики Google пишут Chromium внезапно не в Visual Studio.

Разработчики Chromium не любят Visual Studio, не используют Makefile, но при этом у них фантастически качественный код. Как же так?

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

ados ★★★★★
()
Ответ на: комментарий от yu-boot

Кто кодит/кодил большие проекты за деньги, вим вообще котируется как подобие IDE, или им только конфиги править через путти? Без наезда, мне правда интересно.

если очень хочется, то можно работать над большими проектами в VIM, что многие и делают, потому что фанаты. я сам так делал лет 10-15 подряд, но потом надоело. сейчас в VIM только «конфиги правлю» :)

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

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

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

Ладно, пиши свою ide на субд, а мы всем ЛОР-ом посмеёмся, надо же кроме метапрога чтобы кто-то что-то упоротое делал.

peregrine ★★★★★
()

хромиум это средний проект

я разрабатываю очень большой Ъ-энтерпрайз проект с помощью emacs+tramp на remote сервере с 64 ядрами и 256G оперативы и nvme диском

из ide его кое-как вытягивает еще vscode с remote плагином

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

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

Недавно был пост на лоре, что компилятор от ms опережает все opensource компиляторы по поддержке фич свежих стандартов плюсов. А вообще в студии сто лет как можно использовать clang.

Reset ★★★★★
()
Ответ на: комментарий от yu-boot

У меня начальник кодит в far’е. Если удобно пользоваться vim’ом то ради бога, пользуйтесь.

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

На фуфыксе 8350 хромиум собирался за 17 минут в 2013-2014 в 8 тредов с 32 гигами оперативки. Неужели всё стало на порядки хуже за последние годы? Сто лет не собирал его.

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

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

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

На фуфыксе 8350 хромиум собирался за 17 минут в 2013-2014 в 8 тредов с 32 гигами оперативки. Неужели всё стало на порядки хуже за последние годы? Сто лет не собирал его

Да, скорее всего разросся. В 2018 на зионе 22 ядра 44 потоков с 64 Гб оперативы хром собирался за 30 минут. Несложными вычислениями получается, что сложность компиляции выросла в 10 раз.

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

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

Да, было такое когда-то, но последние пару лет FF перестал «помогать» и теперь бережно помнит все вкладки.

byko3y ★★★★
()

Сейчас только две разумные опции: Emacs и VSCode. С LSP и clangd обе опции отлично тянут большие проекты.

(upd: и Vim, только не бейте :)

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

Последние годы xcode

Ну правильно. Vim, хоть хорош и относительно мощный, все равно безнадежно устарел в век мышек. Я хз, что там у вас за железо, но у меня в последний раз необходимость работать console-only возникала только на роутере с 32 Мб оперативы. Когда я мышкой за полсекунды могу сделать то, для чего в Vim нужно секунд 5 возить курсор — победитель становится очевидным.

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