Comments 15
Есть большая таблица версий.Как по ней видно, чем не устраивает MinGW?
…
И по ней видно, что имеет смысл смотреть только на Cygwin и Msys2.
От Msys2 ощущения как от работы с полноценным GNU/Linux: заходишь в терминал, и у тебя есть всё что душа пожелает. Самых свежих версий, включая GCC. Если версии несвежие или собранные не с теми флагами — есть внятное описание, как быстро забежать в PKGBUILD и пересобрать новое (это та же система, что в ArchLinux). Это просто космос, в отличие от красноглазия, которое начинается каждый раз в Windows, когда ты пытаешься что-то собрать так как тебе надо из исходников.
Ты имеешь в виду, чем он лучше, чем mingw, который идет отдельно? Ну тут к тебе вопрос: у него есть ли пакетный менеджер с репозиторием готовых бинарных пакетов? У cygwin есть, хоть там все и несколько по-некрофильски.
Еще одна эксклюзивная фишка cygwin: он прочно обосновался во всевозможных туториалах по сборке чего-нибудь под Windows: там фигурируют вполне конкретные сигвино-специфичные названия пакетов, под него заточены сборочные скрипты. Например, OpenJDK при сборке из исходников под Windows почему-то сыпал странными ошибками, а в Cygwin работал норм. Если не ошибаюсь, они даже в мейке его поддержали, и когда падает сборка из-за недостатка заголовков, то советы какой пакет установить есть не только для Ubuntu и Fedora, но и для Cygwin
У меня вопрос немного сбоку: а чем был обоснован выбор языка для разработки без «хрюмворков»?
// отличное и ёмкое слово, кстати :)
Почему именно C++? И почему не Rust?
Вдохновляюсь крутейшей серией видеокастов Handmade Hero, хочется сделать как у него, но по-другому.
Возможно, как раз решив часть проблем с помощью Rust или Java. На Java скорей всего будет скриптовая система, JVM можно ембедить в крестовое приложение. Если будут идеи, зачем можно использовать Rust — напиши! Может, тоже скрипты?
В любом случае, чтобы избавляться от проблем — нужно их вначале нажить :-)
А еще просто хочется разобраться в C++. Зачем? Потому что моя специализация — Java. Чтобы изменять виртуальную машину Java — нужно понимание C++. Сейчас я исправляю баги в C++ коде, и это получается ОК совершенно без понимания. Чтобы его достичь, вероятно, нужно написать какое-нибудь приложение с нуля.
Просто Rust тоже нативный, и хоть и гораздо сложнее в освоении в самом начале, зато проще после первого месяца-двух, а C++ для меня как был переусложнённым, так и остался
Не понимать код разных JVM, а разрабатывать эти JVM. Там легаси 20-летней давности. Плюс совершенно не на всех платформах есть компилятор Rust — там свежий С++ то не всегда есть, и нужен стандарт 98-ого года.
Зачем это нужно на практике. Например, последнюю пару недель мы с друганом сражаемся с попыткой спортировать OpenJDK на новую процессорную архитектуру. Есть куча постов о кишках JVM (пример раз, пример два), доклады по GraalVM, итп. Чтобы их писать, нужно понимать что пишешь, рыться в коде. В принципе, большинство задач не требует именно написания чего-либо — достаточно понимать и мочь править баги "по смыслу". Но и общее ощущение составить хочется.
Я знаю про Rust, это крутая штука, просто вряд ли он подходит именно мне. Если кто-то захочет сделать выделенный подкаст про Rust, это было бы неплохо!
Visual Studio Community бесплатный продукт, а в CLion нет Community версии, как для Java & Python, только 30 дневный trial. Поэтому интересует, что будет с CLion после 30 дней? Будут выдаваться сообщения, ограничения рабочей сессии или какие то другие прелести?
Нужно будет отдельно объяснить, как билдить через другие IDE. То что это будет возможно — гарантируется тем, что для сборки используется CMake, не что-то IDE-специфичное. Можно писать хоть в блокноте и собирать из консоли. Я сделаю.
CLion сильно лучше для обучения. Особенно для тех, кто раньше писал на Java, PHP, Python, Ruby, .NET и других продуктах, где в качестве IDE лидируют продукты JetBrains. Если я ещё и IDE поменяю на VS, то буду чувствовать себя совсем униженным и сбитым с толку. В смысле, ну вот пишешь ты в блокноте или VSCode — будет то же самое, что в CLion, но без подсказок, поиска, рефакторингов, и так далее.
Когда закончится CLion, нужно будет скачать следующий EAP. Скорей всего, EAP ещё долго будут бесплатными. Кроме того, для студентов он вообще всегда бесплатный.
Для профессионалов Jetbrains Toolbox — вещь незаменимая. У меня он куплен на свои личные деньги, не работодателя. Окупается. Но этот момент дальше раскрывать не стану, чтобы кто-то не подумал, что это маркетинг JB.
Хаброкаст «Заход Солнца Вручную» #1. Пытаемся настроить среду для разработки игрушки под Windows