LINUX.ORG.RU
ФорумTalks

[ЖЖ] gcc перепишут на C++

 


0

0

Сабж: http://gcc.gnu.org/ml/gcc/2008-06/msg00385.html

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

Что дальше? .NET?

/me в депрессии

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

> идиоты.

Я уже предлагал заклеймить позором и подвергнуть острому кизму.

> на лиспе будет проще и быстрее

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

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

> Точно, а главное - никаких проблем с бутстрапом.

ну они очевидно ещё и glisp сделают по ходу дела.

// wbr

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

>>Любой, у которого есть более-менее цельный концепт. Концепта нет только у С++ пожалуй.

>Brainfuck - хороший язык ? у него очень цельный концепт, бесспорно.

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

>>Его и в С++ в принципе можно устроить, приделав IDL. Получится CORBA или COM, упаси господи

>это не ответ. какое отношение интерфейсный proxy stub имеет к наследованию ? определение дай, что ли. если можешь

Если оно происходит не в момент компилирования, а в рантайме - то это настоящее наследование. Например, в COM - это т.н "аггрегация".

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

>> идиоты.

>Я уже предлагал заклеймить позором и подвергнуть острому кизму.

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

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

>Занятия откровенно непрактичными занятиями иногда дают очень полезные результаты

гадание на кофейной гуще тоже иногда даёт правильные результаты

>Некоторые реализации нейронных сетей автогенерят Брэйнфаковские конструкции

ссылки будут ? гугль на запрос "neuro web brainfuck" даёт сплошной мусор из серии just for fun

>Можно реализовать брейнфак несколькими простыми микросхемами

можно. а зачем ?

>Если оно происходит не в момент компилирования, а в рантайме - то это настоящее наследование

да ? и чем оно более настоящее ? т.е. чем по сравнению с ним плохо статическое наследование ? дай пример задачи, которую можно решить (скажем так, "хорошо решить") подобным наследованием, и нельзя - тем, которое в C++

>Например, в COM - это т.н "аггрегация"

очень свободно обращаешься с терминами. при чём тут агрегация ? агрегация это отношение "содержит", при чём тут COM/CORBA ?

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

>Тебе же возмежно предстоит поддерживать эту плюсовую гниль

вряд ли. GNU'шным проектам свойственен консерватизм. где ныне великолепные HURD/L4, HURD/Coyotos ? а HURD/Mach, у которого будущего нет и быть не может - пилят, регулярно выпуская новые версии

>из-за приманок - виртуалных функций, STL и смарт-указателей

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

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

>Эта написанная на Си++ быдлоподелка? o_O Нет пути!

нет. советую посмотреть что это такое. если с компиляторами (или с оптимизацией) дело имел - впечатлишься

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

Это мега крутая весчь! это то, что все так ждали :) действительно интересная весчь. пишут, что код генерица не хуже гцц, а майнтабельность, и фич (вроде халявного JIT) куча.

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

>>Эта написанная на Си++ быдлоподелка? o_O Нет пути!

>нет. советую посмотреть что это такое

Да шучу я, блин :/ Кто же не знает LLVM?

> если с компиляторами (или с оптимизацией) дело имел - впечатлишься

Профессионально - не имел. Идея у LLVM не новая, но здравая. Жаль, никто не вкладывается в проект деньгами.

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

>Да шучу я, блин :/ Кто же не знает LLVM?

ну, я вот узнал меньше месяца назад :)

>Жаль, никто не вкладывается в проект деньгами

к сожалению с хорошими проектами так часто бывает. в мой тоже никто инвестировать не хочет :)

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

>>Некоторые реализации нейронных сетей автогенерят Брэйнфаковские конструкции

>ссылки будут ? гугль на запрос "neuro web brainfuck" даёт сплошной мусор из серии just for fun

Минимальный Turing-complete язык вполне может быть полезен именно для таких вещей. Проверкой этой инфы я не занимался.

>>Если оно происходит не в момент компилирования, а в рантайме - то это настоящее наследование

>да ? и чем оно более настоящее ? т.е. чем по сравнению с ним плохо статическое наследование ?

Это обсасывалось 100 раз. Сидеть и конвертировать все в extern "C" напрягает. Либо трахаться с плюсами вместо более подходящего языка. Статическое наследование делает С++ очень инвазивным, вирусным языком.

>дай пример задачи, которую можно решить (скажем так, "хорошо решить") подобным наследованием, и нельзя - тем, которое в C++

Компонентные системы.

>>Например, в COM - это т.н "аггрегация"

>очень свободно обращаешься с терминами. при чём тут агрегация ?

Там это именно наследование - унаследованный инстанциирует родителя и передает ему список идентификаторов интерфейсов которые он замещает.

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

> Я умру или сменю профессию [...] из-за приманок - виртуалных функций, STL и смарт-указателей.

Не умирай. Иди в ассенизаторы, или в помощники петросяну.

Чувак, в мире написаны тысячи вменяемых программ на плюсах. Я участвовал в пяти проектах, из них 1 был говном (т.к. писали идиоты, причём там был далеко не модерн цпп, там был си с классами), 3 были просто превосходны (1 живёт уже более десяти лет, основная кодовая база была вылизана, использовались шаблоны с бустом во всю мощь, багов в релизах был 1 критический на миллион строк кода в год, 1 некритический на сто тысяч, т.е. читай вовсе не было. Правда заказчики были богаты, багов им нужно было очень мало, и в команде индусов от программрования не было.) И я могу сказать, что плюсы реально помогают декомпозировать проект, параллелить работу, упрощают код, упрощают сопровождение. Есть лучшие языки (не си, конечно), но за их использование приходится платить производительностью, и эта плата не всегда возможна.

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

Правильно, нахер сложившиеся определения и традиции, у нас свой, Absurd-ный computer science.

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

>Минимальный Turing-complete язык вполне может быть полезен именно для таких вещей. Проверкой этой инфы я не занимался

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

>Это обсасывалось 100 раз. Сидеть и конвертировать все в extern "C" напрягает

не удивительно. непонятно только - зачем

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

да ну ? может всё-таки прекратишь трепаться, и обьяснишь толком, что же в нём такого "вирусного", "инвазивного" и "ненастоящего" ?

>Компонентные системы

компонентные системы - это то, для чего CORBA разрабатывалась. как бы неудивительно. используется она, кстати, не только в C++. ZeroC ICE, развивающий идеи CORBA, имеет маппинги на C++, Java, C#, Python, Ruby...что, у всех у них ненастоящее наследование ?

>Там это именно наследование - унаследованный инстанциирует родителя и передает ему список идентификаторов интерфейсов которые он замещает

ты так и не ответил на вопросы чем это "более наследование" и при чём тут "аггрегация". в догонку предлагаю задуматься над тем, что ООП может быть реализовано вообще без наследования - например, через делегирование или прототипирование

и ещё касательно сабжа : речь идёт о компиляторе. скажи, зачем в компиляторе компонентная модель ?

jtootf ★★★★★
()

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

С применением FP (Haskell, OCaml, Lisp etc.) подобное потребует почти полной переработки. Тут же речь идет, всего лишь, о некоторой модернизации.. В любом случае, с практической точки зрения, это кажется наиболее разумным вариантом. Тем более, учитывая тот факт, что разработчики gcc, всё-таки, как-то более в теме, чем большинство откоментировавшихся в данном треде.

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

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

Это ложь, так как шаблоны начали работать более-менее году так к 2003-ему, то есть 5 а не 10 лет назад. И даже пять лет назад Internal Conpiler Error'ы на ровном месте не были нужны никому абсолютно.

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

>может всё-таки прекратишь трепаться, и обьяснишь толком, что же в нём такого "вирусного", "инвазивного" и "ненастоящего"

Мне влом делать твои постинги более объемными чем твои. А твои постинги сводятся к "ты не прав, С++ замечательный язык".

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

>Это ложь, так как шаблоны начали работать более-менее году так к 2003-ему, то есть 5 а не 10 лет назад.

Ты только не забывай добавлять "у меня". Тогда твоя фраза будет звучать более правильно: "у меня шаблоны начали работать более-менее году так к 2003-ему" %)

>И даже пять лет назад Internal Conpiler Error'ы на ровном месте не были нужны никому абсолютно.

И опять забыл указать компилятор. Хотя наверно мне стОило бы догадаться, что подразумевается "дефолтный" a.k.a. от одной конторы из Редмонда, да? %)

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

>>Это ложь, так как шаблоны начали работать более-менее году так к 2003-ему, то есть 5 а не 10 лет назад.

>Ты только не забывай добавлять "у меня". Тогда твоя фраза будет звучать более правильно: "у меня шаблоны начали работать более-менее году так к 2003-ему" %)

export template так до сих пор и не работает ни у кого кроме маргинальных поделий. Пока не работает, любителей писать шаблоны надо принуждать их писать в .cpp файлах и делать explicit template instantiation с целью увеличения локальности символов и уменьшения сложности мэйтенанса. А потом выгонять за то что они такие тормоза.

>Хотя наверно мне стОило бы догадаться, что подразумевается "дефолтный" a.k.a. от одной конторы из Редмонда, да? %)

C -O0 он генерирует код который по качеству похож на gcc c -O2. Что поделать, раз контора из Редмонда умеет расставлять приоритеты. Качественный код для мэйнстрима - сегодня, всякая маргинальная хренота вокруг лэнвидж лоеринга - завтра.

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

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

Это правда. Причиной создания С++ стали недостатки Simula. Страуструп как раз и писал, что вроде многое там было, и все круто, а как доходишь до какой-то черты - и все. Пропасть, стена. Поэтому весь код, который он написал на высокоуровневой Симуле в своей дипломной работе, ему пришлось выкинуть и переписать на полу-ассемблер BCPL.

Забавно, он создал язык, точь в точь такой, от которого ушел (лучше конечно, но...). Правильно Вами сказано: "вроде птица да не летает" +1

xTERM ★★
()

По теме: волноваться не нужно. Эти треды постоянно возникают в самых разных проектах на Си (благо быдла, считающего что С++ - улучшенный Си, достаточно), но на этом обычно дело заканчивается. В последний раз помню это обсуждалось для ядра FreeBSD. Правда там люди адекватные, понимали что включение чуток С++-са неизбежно приведет к потоку всякой гадости в серсы. Т.к. С++ нужен для решения только некоторых проблем, а 95% его возможностей вообще не по теме, то они предлагали как вариант самим написать препроцессор K, в котором будет только то, что нужно изменить в Си. Правда все затихло (что, возможно, и к лучшему).

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

>Мне влом делать твои постинги более объемными чем твои. А твои постинги сводятся к "ты не прав, С++ замечательный язык".

а теперь прикинь : я не считаю C++ замечательным языком. и за весь тред ничего подобного не говорил. удачи тебе с ветряными мельницами, крестоносец ты наш. флаг в руки, барабан на шею, и поезд навстречу

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

> благо быдла, считающего что С++ - улучшенный Си, достаточно

Небыдло детектед.

> они предлагали как вариант самим написать препроцессор K, в котором будет только то, что нужно изменить в Си

Прикинь, а gcc это сделали. Оказалось - недостаточно этого.

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

>Что поделать, раз контора из Редмонда умеет расставлять приоритеты. Качественный код для мэйнстрима - сегодня, всякая маргинальная хренота вокруг лэнвидж лоеринга - завтра.

Вас там сколько из-под этого ника пишет? о_О

Пожалуйста, прочитай то, что написал твой сосед по виртуальной черепушке чуть раньше: http://www.linux.org.ru/jump-message.jsp?msgid=2849939&cid=2852002 про Internal Compiler Error-ы и договорись сначала с ним на тему "приоритетов" и "качества компилятора". Этот компилятор уже второе десятилетие никак отладить не могут всей своей могучей бригадой программеров. И пожалуйста, не надо сравнивать с гцц (я уже прямо вижу, как у тебя руки к клаве потянулись :)). Сильно подозреваю, что у МС и бригада побольше будет, да и работают они полный рабочий день за зарплату, а не вечерами кодят, правда же? ;)

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

>а теперь прикинь : я не считаю C++ замечательным языком. и за весь тред ничего подобного не говорил. удачи тебе с ветряными мельницами, крестоносец ты наш. флаг в руки, барабан на шею, и поезд навстречу

Не обращай внимания: у него все, кто не исходит ядом от ненависти, автоматически попадают в "плюсофилы" и приговариваются к смерти через расстрел ядовитыми пулями с последующим повешением на электрическом стуле в газовой камере под водой %)

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

> просто ткни мне вот здесь http://gcc.gnu.org/viewcvs/trunk/ пожалуйста в пару строк на модифицированном Си.

Если тебе в самом деле это интересно, то ищи аннотации GTY.

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

>Прикинь, а gcc это сделали. Оказалось - недостаточно этого.

Для того чтобы довести gcc до нынешнего состояния тем не менее им этого хватало.

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

>Не обращай внимания: у него все, кто не исходит ядом от ненависти, автоматически попадают в "плюсофилы" и приговариваются к смерти через расстрел ядовитыми пулями с последующим повешением на электрическом стуле в газовой камере под водой %)

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

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

>С++ - действительно злокачественное явление, и на это надо обращать внимание

Человек с детства приучается к элементарным правилам гигиены: сначала это - не ссы в штаны, потом - чисть зубы, мой руки перед обедом, не программируй на С++ :)

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

>> С++ - действительно злокачественное явление, и на это надо обращать внимание

> Человек с детства приучается к элементарным правилам гигиены: сначала это - не ссы в штаны, потом - чисть зубы, мой руки перед обедом, не программируй на С++ :)

.oO( вот так они и нашли друг друга )

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

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

Прагматичный, взвешенный подход не только вреден, но и полезен %)

>С++ - действительно злокачественное явление, и на это надо обращать внимание.

Всемирный жидомасонский заговор и вредительство мирового масштаба, не иначе %)

"Однажды все злые программисты мира собрались и придумали С++, после чего пошли по миру, проповедуя его всячески, расписывая все его прелести. И соблазнялись неокрепшие умы, и начинали его использовать, а злые программисты радовались. Когда неокрепшие умы крепко подсели на С++, злые программисты начали заставлять перегружать операторы и использовать шаблоны, boost и stl. Терпели неокрепшие умы, но подчинялись. И понёсся над миром плач великий, но нашлись смельчаки, которые восстали против С++! Днями и ночами вели они великую битву против С++, проповедуя его вредность и уродство, но не слушали их люди, ибо были они во власти С++. Так и канули в лету безвестные герои...."

Аж у меня самого слезу прошибло... :'(

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

>>С++ - действительно злокачественное явление, и на это надо обращать внимание.

>Всемирный жидомасонский заговор и вредительство мирового масштаба, не иначе

Я написал - "злокачественное явление", а не "вредительство". Злокачественное явление это рак, он возникает спонтанно.

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