#46 19.04.08 11:19
#47 20.04.08 21:28
Re: Кто компилировал под Linux? Отзовись!
Укроп написал(а):
Matrim написал(а):
С/C++ хорош тем, что не дает забывать о том, что есть биты, память, процессор и прочие элементы из супового набора. проблема говноязыков в том, что если на них учиться, то потом компьютер воспринимается как некий аппарат, в который с одной стороны что-то суешь (баранов, ага), а с другой стороны получаешь продукт (колбасу, ага)
отлично сказано )))))
только не суешь - а сажаешь семена , и вырастает дерево с колбасой на ветках
Это не я бляяя...
Offline
#48 24.04.08 18:53
Re: Кто компилировал под Linux? Отзовись!
Matrim написал(а):
испытание временем эти языки уже выдержали, у них есть своя ниша и в этой нише их заменить нечем.
неужели? И что же это за область? Так, если подумать, то, допустим, это мелкие микроконтроллёры, где программы не бывают большими, и где других компиляторов, кроме как для C, не бывает. Именно C, не C++. Других незаменимых ниш с ходу на ум не приходит.
Matrim написал(а):
когда я спрашивал, на чем же писать новые говноязыки, если изжить С++, то я в общем то не шутил - операционные системы и языки до сих пор пишут на С
на чём только их не пишут, и оси, и драйверы, и особенно языки. Вот тот же Perl 6 на Haskell сделали, а GHC -- это optimizing compiler for Haskell, written in Haskell. Немало компиляторов self hosted. Рантайм на некотором этапе рано или поздно упирается в C'шный код, либо API системы, либо ещё и своя библиотека языка. Если сама ось написана не на C или операционки вообще нет, то этого слоя может и не быть. Но даже с предопределённой библиотекой количество ошибок будет сведено от A*B к A+B. Если есть баг в рантайме, его один раз исправляют, и исправляется каждая программа с этим багом. Порчу кучи так же просто не пофиксишь. Я надеюсь, лет через 20-30 все программы на C и C++ будут уже выполняться на каком-нибудь аналоге valgrind, там им и место. С учётом этой перспективы аргументы про скорость придётся забыть.
Matrim написал(а):
всё, что требует производительности пишут на С
это миф. или стереотипное мышление, другими словами
Matrim написал(а):
(и на ассемблере тоже. ассемблер это вообще ужасный язык для тех, кто небрежно относится к программированию. никаких проверок, собирается совершенно нерабочий код, сколько может продолжаться это безобразие?!)
Ассемблер не подвергается абузу со стороны разработчиков. Не припомню я обилия Web приложений или текстовых процессоров на Ассемблере за последнее время. Разве что в MenuetOS, но это скорее исключение, чем правило.
Matrim написал(а):
Эта тема вообще вызывает у меня здоровый смех
Да у меня тоже. C быстрый, C незаменимый, языки пишутся только на C, блаблабла. Как будто только из танка.
Matrim написал(а):
OCTAGRAM ругает С и при этом молчит, с какого же языка нужно начинать.
Assembler -- must have. Так или иначе, освоить до приемлемого уровня. Именно на этом уровне достигается понимание железа. Но это не первый, это не менее, чем второй язык. C и C++ -- это уже повышение уровня. Чего-то, чему нельзя научиться на Ассемблере там особенного нет, а то, что есть, есть и в других языках, но с человеческим лицом.
Matrim написал(а):
С++ подходит для обучения программированию, я настаиваю :)
именно по той причине, что он требует внимательности и понимания происходящих в железном болване процессов.
C++ требует внимательности априори. Неправильный код может на вид работать.
Я в IRC у одного чувака нашёл такой косяк: file_ifs >> str.c_str();
где str -- это AnsiString в Builder. Для меня этот косяк очевиден, и я против C++. С автором кода всё наоборот. Закон подлости.
Я против C++ как первого языка. Изучать C++ нужно только после Ассемблера, я настаиваю :)
Если Assembler не менее, чем второй язык, то C++ не менее, чем третий.
Draloskop написал(а):
OCTAGRAM, скажи, пожалуйста, какой язык больше всего подходит для обучения?
Я голосую за Аду. Добротный такой, типобезопасный стандартизованный системный язык общего назначения. Сравнительно невысокий порог вхождения. С одной стороны, на первых порах не даст лажать, с другой стороны, нескоро себя исчерпает (в отличие от Pascal). Даёт контроль ОТ и ДО. ОТ задач и ДО битов.
А вот когда возникнет потребность в других концептах, Лисп с его продолжениями, замыканиями и дуализмом процессы-данные.
Остальные на усмотрение. Зная эти два "противоположных" языка, понять другие будет ИМХО легче.
Исправлено OCTAGRAM (24.04.08 18:53)
Offline
#49 24.04.08 20:13
Re: Кто компилировал под Linux? Отзовись!
OCTAGRAM написал(а):
Так, если подумать, то, допустим, это мелкие микроконтроллёры, где программы не бывают большими, и где других компиляторов, кроме как для C, не бывает. Именно C, не C++. Других незаменимых ниш с ходу на ум не приходит.
для микроконтроллеров кроме как на С и asm пишут на паскале, pl/m, в некоторых развитых странах - на ada, например.
OCTAGRAM написал(а):
на чём только их не пишут, и оси, и драйверы, и особенно языки.
на чем написан darwin? (о linux я знаю, всплывавшие в последний раз исходники винды были на С)
OCTAGRAM написал(а):
C быстрый, C незаменимый, языки пишутся только на C, блаблабла.
1) С действительно быстрый
2) Еще долго на С будут писать ОС и драйверы, девиации не в счёт
3) "языки пишутся только на C" - неправда, я такого не говорил (ключевое слово "только")
OCTAGRAM написал(а):
Я голосую за Аду. Добротный такой, типобезопасный стандартизованный системный язык общего назначения.
Ада - нудный специализированный язык
Offline
#50 25.04.08 00:31
#51 29.04.08 03:45
Re: Кто компилировал под Linux? Отзовись!
Matrim написал(а):
на чем написан darwin?
подмножество C++
А что?
Matrim написал(а):
1) С действительно быстрый
Быстрый -- понятие относительное. Ключевой момент -- код пишется человеком, а у человека к коду другие требования. Человек, пишущий на каком-либо языке, в общем случае, имеет оптимизацию не наипервейшим приоритетом. Необходимость поддерживать исходный код и, как следствие, правило don't repeat yourself ограничивают возможности человека в написании оптимального кода. Вместо этого люди пишут менее оптимальный, но слабо связный код. Скажем, на одном и том же компиляторе C может быть выгоднее использовать компилятор другого языка, создающий код для C, например, Сталин: ftp://ftp.ecn.purdue.edu/qobi/research-statement.pdf
Stalin is an optimizing compiler for Scheme that performs whole-program static analysis and uses the results of that analysis to generate extremely efficient code.
These analyses and optimizations allow Stalin to generate extremely efficient code that outperforms all other Scheme compilers by factors ranging between two and one hundred, particularly for numerically intensive code. Stalin often generates code that outperforms handwritten c and Fortran code.
Matrim написал(а):
OCTAGRAM написал(а):
Я голосую за Аду. Добротный такой, типобезопасный стандартизованный системный язык общего назначения.
Ада - нудный язык
Бред. Что значит, нудный? А что, программирование удовольствие должно доставлять? Удовольствие в программировании -- это изюм в булочке, его по определению не должно быть много. Программист должен удовлетворять пользователя, а не себя. Кто как, я довольствуюсь результатом, а не процессом.
Matrim написал(а):
Ада - специализированный язык
Что-то новенькое. И на чём же он специализируется, если не секрет? Заодно узнаю, на чём специализируется C++.
Matrim написал(а):
2) Еще долго на С будут писать ОС и драйверы, девиации не в счёт
Это плохо. Я знаю, что будут. Будет момент, когда пользователи будут знать недостатки этих языков, когда будет выбор ОС для повседневного использования, написанной не на C(++), браузера не на C(++), и вообще большинства софта не на C(++). Вот как сейчас большинство знает, что если у тебя FAT, то может случиться сбой, и ты можешь потерять информацию помимо недописавшихся на диск документов. Это никому не надо объяснять, об этом так или иначе становятся наслышанными. А ведь были времена, когда в FAT были отформатированы целые ЖД, а не только там флешки какие-нибудь. И у меня был и FAT16, и FAT32.
И если в те времена какой-нибудь юниксоид сказал бы про то, что для ЖД нельзя использовать использовать FAT, его точно также бы не поддержали. Не потому, что он был неправ. Просто этой правде ещё не пришло время. Так или иначе, такого рода ликбезы, однажды случившись, необратимы. Если это становится широко известно, то играть на неведении пользователей уже не получается. И технология уходит.
Offline
#52 29.04.08 12:39
Re: Кто компилировал под Linux? Отзовись!
OCTAGRAM написал(а):
подмножество C++
А что?
Я не верю, что у подмножества нет имени :)
возможно, речь идет о Objective-C? (но этот язык не является подможеством С++). Другое дело, что С является подмножеством Obj-C, т.к. последний является надстройкой над С и заимствованный из bsd код на С мог быть собран при помощи Obj-C компилятора
OCTAGRAM написал(а):
Stalin often generates code that outperforms handwritten c and Fortran code.
как часто often и насколько много outperform?
Язык С быстрый настолько, насколько может быть быстрым платформонезависимый ассемблер.
Ада - язык для встраиваемых систем (да еще имеющий в предках паскаль). С - системный язык, который можно использовать как язык общего назначения (de facto).
Ада уныл и нуден тем, что содержит слишком много ограничений, которые не дают биороботам, пишущим программы для какой-нибудь военной техники США, ошибаться больше обычного.
OCTAGRAM написал(а):
А что, программирование удовольствие должно доставлять?
да
OCTAGRAM написал(а):
Программист должен удовлетворять пользователя, а не себя.
программист должен удовлетворять потребности, в том числе и свои - если он не будет есть еду и спать в подходящем для сна месте, то это может плохо закончиться в первую очередь для программиста.
OCTAGRAM написал(а):
Будет момент, когда пользователи будут знать недостатки этих языков, когда будет выбор ОС для повседневного использования, написанной не на C(++), браузера не на C(++), и вообще большинства софта не на C(++).
использование железного болвана со всем его софтом - это способ удовлетворить потребности, что там у болвана внутри для пользователя не важно (см. про удовлетворение потребностей выше). какие хорошие операционные системы линукс и макось, особенно конечно хорошая для пользователя макось. вирусов нет, все очень удобно, казалось бы все пользователи уже давно поняли, что виндовс - это прошлый век, буквально fat16. но виндовс до сих пор удовлетворяет потребности пользователей, и будет удовлетворять их еще много лет.
Offline

