LINUX.ORG.RU

Подводные камни clang

 , ,


0

6

О себе

1. Я пользователь Linux

2. Лицензофобиями не страдаю (GPL vs BSD vs ...). Предпочитаю окрытые и свободные лицензии проприетарным. Могу еще перебирать лицензиями когда речь идет о библиотеке

3. Хочу писать свои Hello Worldы на С++ 11. У меня LTS версия Ubuntu с древневонючим GCC. Не хочу его менять, пусть будет как есть. Там еще ключ c++0x до сих пор, не знаю во что это мне выльется.

Для поддержки С++11 поставил Clang. Очень нравятся сообщения о ошибках и возможность настроить сильный completion.

Есть какие-то минусы у сабжа? Буду использовать для разработки всяких игрушечных серваков и СУБД чтобы качать мышцу мозга.

★★★★★

Последнее исправление: vertexua (всего исправлений: 2)

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

Ну тут не возразишь, действительно, бывает и такое.

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

дадут профит в скорости работы

какая программа будет лучше

Так определись «лучше» или «быстрее». Одно - надмножество другого.

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

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

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

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

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

Ты вот пользуешься уймой сервисов онлайм _прямо_сейчас_ на Java как пользователь и горя не знаешь. И программисты этих сервисов тоже.

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

Еще есть поддержка шланга в эклипсе, но эта ide сама по себе меня бесит, т.ч. ее я не рассматриваю.

Кстати, ты не в курсе, разработчики Qt Creator откажутся от встроенного парсера в пользу шланговского? Или так и будут тянуть две ветки?

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

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

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

Быстрее машинного работать он не будет ;)

Беда в том, что недоверенный машинный код без mmu не пустишь. Да и доверенный может уронить не только себя, но и окружающих. А кольца безопасности дают оверхед сравнимый с оверхедом aot/jit compiled managed кода.

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

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

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

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

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

Вот, а в реальном мире «тормозной» питон зачастую лучше «быстрого» С.

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

У более безопасных и простых языков с этим лучше, чем у С++.

Это да. Выстрелить в ногу в безопасных языках сложно. Но производительность в ресурсоёмких приложениях страдает.
Далеко ходить не нужно: JPSP vs PPSSPP.
PPSSPP (C++/Qt/SDL) раз так в 10 производительнее написанного на Java JPSP. Даже в 3D-экшоны поиграть можно. А в JPSP только трехмерный кубик покрутить.

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

Думаю что проблема не в языке, на котором написаны программы, а в их архитектуре. JPSP может быть «тупым» эмулятором, в то время как PPSSPP может быть бинарным ретранслятором.

PPSSPP is a PSP emulator written in C++. It translates PSP CPU instructions directly into optimized x86, x64 and ARM machine code, using JIT recompilers (dynarecs).

Да, так и вышло.

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

C++ нужен, это Pascal, Python, Perl, JAVA и иже с ними не нужны, нужность C# под огромным вопросом, в том виде, какой он сейчас он не нужен. А вот C, C++, Vala, LISP, LUA, BASH те нужны.

«атец» в треде. покажешь свои проекты на vala, lisp?

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

Закажи за деньги, когда я буду искать работу/подработку, я бесплатно не работаю. У меня нет OpenSource головного мозга.

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

А на Java существуют какие-нибудь проекты/эмуляторы с dynarec recompiler? Эмуляторы, юзающие такие штуки реально быстрые. Пример - PSCX4ALL где ретранслятор написан с использованием C/ARM ASM и позволяет запускать игры от PS One практически в Fullspeed на таких слабых девайсах, как GP2X Caanoo/GP2X Wiz.

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

Сходу не назову. Динамическая компиляция в жвм-код возможна и используется, например, в clojure.

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

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

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

Так я сейчас работу не ищу, вроде мне её хватает. Будет нужно, тогда будет уже другой разговор и под другим ником, а может и ИРЛ и в другом месте.

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

Просто Земля этот форум не раз видел людей с криками «С++ во все поля, остальное не нужно, скорость - единственный параметр качества». Пока серьезные организации молча пишут на Java, C++, C#, Python, JS, Bash, C, you name it

vertexua ★★★★★
() автор топика

Встречались баги с шаблонами, но это было еще в 3.2 сейчас не знаю как с этим

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

я что-то говорил про с++? ну пилил как-то гуи либу, на основе sdl, для терминалов (когда у qt еще lgpl не было). в принципе могу попробовать собрать и показать.

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

Во-первых, я не пишу, что C# не нужен. C# не нужен на Linux, это да, так в том виде в котором он есть в виде MONO - он неюзабелен. Я вообще то изначально написал, что если C++ не нужен, то Java, Python, Pascal и подавно не нужны. А вообще предлагаю заканчивать спор. Мы можем придираться к словам друг-друга хоть целую вечность.

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

А как же ты на JAVA что-то серьёзное напишешь?

NetBeans, IDEA и Eclipse как-то ведь осилили написать на Java, а на C/C++ какие-то недо-IDE всё ещё.

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

а на C/C++ какие-то недо-IDE всё ещё

MVS. Да, haters gonna hate, но факты остаются фактами. Я хз как там новые версии, но 2008 была вином.

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

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

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

Считаю нужным отметить, на всякий случай, что программа, написанная на Rust, не будет требовать больше памяти, чем написанная на С++ :) . И с ядрами-гигагерцами более-менее то же самое.

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

Ну точнее будет, но не из-за фундаментальных причин, а из-за взрослости компилятора. То же касается Go

Особенно если учитывать что Rust - практически плюсы с форсингом shared_ptr, unique_ptr или &

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

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

Clang давно уже взрослый.

То же касается Go

Не касается. Там сборка мусора.

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

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

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

Есть подозрение что там счетчик ссылок

Есть подозрение, что подсчет ссылок - одна из техник сборки мусора. А в Go совсем недавно был stop-the-world mark-and-sweep.

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