The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Facebook открыл код warp, высокопроизводительного препроцессора для C/C++

30.03.2014 14:46

Facebook открыл код проекта warp, в рамках которого подготовлен высокопроизводительный препроцессор для языков C и C++. Внутри компании препроцессор warp используется в качестве быстрой замены препроцессора cpp из состава GCC. Кроме GCC, warp также может использоваться совместно с Clang. warp написан на языке D, основной автор кода - Уолтер Брайт (Walter Bright), автор компилятора Zortech C++ и создатель языка программирования D. Код warp опубликован на Github под свободной лицензией BSL (Boost Software License).

Одной из ключевых особенностей warp является кэширование препроцессором результатов разбора файлов С/C++. Из-за того, что стадия разбора кода С++ является относительно медленной операцией, использование warp позволяет сократить время пересборки в условиях работы команд разработчиков над большими программными проектами и, таким образом, увеличить эффективность разработки за счёт снижения времени ожидания. В тесте пересборки крупного программного проекта с большим числом зависимостей после изменения одного заголовочного файла при использовании warp вместо штатного препроцессора из состава GCC наблюдается уменьшение времени пересборки от 10 до 40%, в зависимости от особенностей кодовой базы.

  1. Главная ссылка к новости (http://forum.dlang.org/thread/...)
  2. OpenNews: В GDC, компилятор для языка D, добавлена поддержка архитектуры ARM
  3. OpenNews: Вышла новая версия dmd 2.063, компилятора для языка D
  4. OpenNews: Facebook открыл код flint, системы для проверки кода на языке C++
  5. OpenNews: Facebook представил Hack, вариант языка PHP со статической типизацией
  6. OpenNews: Facebook представил WebScaleSQL, высоко масштабируемый вариант MySQL
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39439-facebook
Ключевые слова: facebook, gcc, cpp, speed, warp, preprocessor
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (93) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Прохожий (??), 19:05, 30/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    gnu cpp + ccache = warp ?
     
     
  • 2.2, arisu (ok), 19:28, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > gnu cpp + ccache = warp ?

    нет. совершенно из другой оперы.

     
     
  • 3.13, Аноним (-), 20:40, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> gnu cpp + ccache = warp ?
    > нет. совершенно из другой оперы.

    А можно подробнее, пожалуйста?

     
     
  • 4.14, arisu (ok), 20:49, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >>> gnu cpp + ccache = warp ?
    >> нет. совершенно из другой оперы.
    > А можно подробнее, пожалуйста?

    чтение материалов по ссылкам и из гугля вслух — услуга платная.

     
     
  • 5.31, Loooooker (ok), 23:12, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Можно воспользоваться Google Text-to-Speech =)
     
     
  • 6.47, Аноним (-), 02:53, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Он тоже из разряда "бесплатный сыр достается только второй мышке".
     
  • 5.51, Аноним (-), 04:08, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Никто и не ожидал что вы беплатно будете доказывать собственную безграмотность.
     
     
  • 6.63, arisu (ok), 10:48, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Никто и не ожидал что вы беплатно будете доказывать собственную безграмотность.

    а уж тем более — безграмотность вопрошающего.

     
  • 2.50, Аноним (-), 04:08, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Именно так.
     
  • 2.54, Аноним (-), 07:44, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > gnu cpp + ccache = warp ?

    ccache кеширует только готовые объектники. Так что нет, не равно.

     
     
  • 3.62, linux must _RIP__ (?), 09:51, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    да вы что ?!
    а у меня почему-то закэширован результат перепроцесора..
     

  • 1.3, A.Stahl (ok), 19:40, 30/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Самое страшное это когда в коде, написанном упоротым плюсовиком, кто-то меняет хеадер с описанием какого-то бесполезного класса, от которого все потом наследуются или что-то в этом роде. Иногда эта беда мало отличается от полной пересборки.
    Мужики! Не выносите константы со всего проекта в один хеадер, Ктулху вас обосри!
     
     
  • 2.5, Аноним (-), 19:48, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    https://code.google.com/p/include-what-you-use/
     
     
  • 3.6, arisu (ok), 19:52, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > https://code.google.com/p/include-what-you-use/

    «…program that can be built with the clang libraries…»
    бесполезное.

     
     
  • 4.8, Аноним (-), 20:22, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    https://code.google.com/p/cppclean/
     
     
  • 5.10, arisu (ok), 20:24, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > https://code.google.com/p/cppclean/

    гвидобейсик не нужен ещё больше, чем всё остальное.

     
     
  • 6.17, anonymous (??), 21:14, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> https://code.google.com/p/cppclean/
    > гвидобейсик не нужен ещё больше, чем всё остальное.

    А чем тебе питон не угодил?

     
     
  • 7.18, arisu (ok), 21:17, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>> https://code.google.com/p/cppclean/
    >> гвидобейсик не нужен ещё больше, чем всё остальное.
    > А чем тебе питон не угодил?

    если я захочу язык whitespace, я знаю, где его скачать.

     
     
  • 8.20, anonymous (??), 21:38, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Только обязательные отступы мешают, или ещё что-то ... текст свёрнут, показать
     
     
  • 9.21, arisu (ok), 21:39, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –7 +/
    одного этого уже достаточно, чтобы не разбираться дальше в сортах ... текст свёрнут, показать
     
  • 9.48, Аноним (-), 02:54, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это сразу показывает на кого такой язык ориентирован На тех, кого надо в стойло... текст свёрнут, показать
     
     
  • 10.57, mixer (?), 08:41, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А я всегда думал, что это фигурными скобками в стойло загоняют Но это ересь, ко... текст свёрнут, показать
     
  • 10.65, arisu (ok), 10:51, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    помимо этого 8212 вайтспэйсы затрудняют генерацию кода ... текст свёрнут, показать
     
     
  • 11.69, mixer (?), 11:06, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    как именно ты считаешь, что в контексте генерации кода inner_block ... текст свёрнут, показать
     
     
  • 12.70, arisu (ok), 11:08, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    какого размера отступ должен быть, чтобы сгенерированый код принадлежал вложеном... текст свёрнут, показать
     
     
  • 13.79, mixer (?), 11:55, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну если ты генерируешь код, например, какого-либо парсера по описанию грамматики... текст свёрнут, показать
     
     
  • 14.81, arisu (ok), 12:04, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    слушай, ну зачем ты сразу не сказал, что быдлокодер я бы и не пробовал тебе что... текст свёрнут, показать
     
  • 14.82, arisu (ok), 12:06, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    p s иди лучше поспорь с авторами языка Go, которые по похожим причинам отказали... текст свёрнут, показать
     
     
  • 15.89, mixer (?), 13:39, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    сначала попытался нагрубить, а потом зацепился-таки за какой-никакой аргумент ... текст свёрнут, показать
     
     
  • 16.90, arisu (ok), 13:48, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    тебе, дебил, никто не грубил называть дебила дебилом 8212 не грубость, а кон... текст свёрнут, показать
     
  • 8.61, Аноним (-), 09:50, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ТАкое ощущение что тебе лет 15... текст свёрнут, показать
     
     
  • 9.64, arisu (ok), 10:48, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    это потому, что тебе всего 20 подрастёшь 8212 поймёшь ... текст свёрнут, показать
     
  • 2.12, Аноним (-), 20:39, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Да какая разница, всё равно почти все горе-кодеры делают #include всего подряд в хедерах, со всеми вытекающими...
     
     
  • 3.15, arisu (ok), 20:51, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Да какая разница, всё равно почти все горе-кодеры делают #include всего подряд
    > в хедерах, со всеми вытекающими...

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

     
     
  • 4.32, A.Stahl (ok), 23:21, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Это небольшая плата за обратную совместимость в масштабе 30 лет.
    Новые языки появляются, привносят какие-то свои нюансы, воспитывают новое поколение программистов, подпадают под влияние корпораций, умирают.
    А Си смотрит на всю эту возню и просто работает.
     
     
  • 5.49, Аноним (-), 02:55, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А Си смотрит на всю эту возню и просто работает.

    Ну да. Прикольно когда код которому 25 лет собирается и работает. А питонисты переписывают свои простынки каждый год. Ну или два..

     
     
  • 6.59, mixer (?), 08:56, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да ниче мы не переписываем, после обновления релиза языка все юнит-тесты всегда проходятся на ура. С 2 на 3 переводим только активные проекты, это да, но от этого хуже старым проектам не стало: работают как часы, обновления безопасности получают.

    Вас хейтеров пора за клевету штрафовать :)

     
  • 6.98, Аноним (-), 10:36, 01/04/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну и что - зато можно отрефракторить код с такой оказией. И на С писать гораздо сложнее - язык за Вас не думает.
     
  • 4.53, Аноним (-), 04:50, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    есть что то древнее мейнстримового gcc?
     
     
  • 5.66, arisu (ok), 10:53, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > есть что то древнее мейнстримового gcc?

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

     

  • 1.7, all_glory_to_the_hypnotoad (ok), 20:20, 30/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    чего только php быдлокодеры не делают лишь бы нормально не резать свой треш на подпроекты
     
  • 1.9, Xasd (ok), 20:23, 30/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > В тесте пересборки крупного программного проекта с большим числом зависимостей [...] наблюдается уменьшение времени пересборки от 10 до 40%, в зависимости от особенностей кодовой базы

    то есть так и скажите -- на глаз результатов не видно

     
     
  • 2.11, arisu (ok), 20:25, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > то есть так и скажите -- на глаз результатов не видно

    да, в твоём приветмире — не видно.

     
     
  • 3.24, Анончик (?), 22:32, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> то есть так и скажите -- на глаз результатов не видно
    > да, в твоём приветмире — не видно.

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

     
     
  • 4.26, arisu (ok), 22:45, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    я рад, что помогаю тебе ощутить твою ущербность.
     
  • 4.33, Xasd (ok), 23:36, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Показывай, чего добился или заткни фонтан

    ды не.. пусть пишет.

    нам не жалко -- вот честно! :)

     

  • 1.16, ano (??), 20:56, 30/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чего только люди не делают, лишь бы не использовать LISP. :)
     
     
  • 2.19, Eugene Ryabtsev (?), 21:25, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Сами-то используете?
     
     
  • 3.22, ano (??), 21:45, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А как же!
     
     
  • 4.38, ананим (?), 00:13, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А где же?
     
     
  • 5.40, ano (??), 00:37, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    На работе. Пара проектов есть на clojure, один на CL.
     
     
  • 6.42, ананим (?), 01:25, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Понятно.
    Как обычно — не то что людям показать, самим глядеть страшно.23
     
     
  • 7.67, arisu (ok), 10:56, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Понятно.
    > Как обычно — не то что людям показать, самим глядеть страшно.23

    прикинь, дебилушка: основное предназначение программ — не «показывать их людям», а облегчать работу. «показывать» — это только у преподавателей такой заскок. а инженеры решают практические задачи.

     
  • 6.99, rob pike (?), 00:00, 05/04/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Сколько разработчиков одновременно активно пишет код в том проекте что на CL?
     
  • 3.30, fevfvrvrdg (?), 23:06, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > Сами-то используете?

    В основном для троллинга на форумах.


     
     
  • 4.41, ano (??), 00:38, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +7 +/
    >> Сами-то используете?
    > В основном для троллинга на форумах.

    LISP - язык универсальный. Подходит и для этого тоже.

     
  • 4.68, arisu (ok), 10:59, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Сами-то используете?
    > В основном для троллинга на форумах.

    печально, что ты никакого другого применения отличному языку не придумал. впрочем, хорошо показывает твой уровень мышления.

    p.s. да, интересующиеся, использую. весьма активно. в виде самописной scheme с jit-ом: её, в том числе, удобно встраивать.

     
     
  • 5.100, rob pike (?), 00:04, 05/04/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Вполне разумное применение.
    До Lua был практически единственный хороший вариант, ну разве что Tcl еще.
     
     
  • 6.101, arisu (ok), 21:24, 05/04/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > До Lua был практически единственный хороший вариант

    после Lua тоже. нет, говорить про LuaJIT нечестно.

     

  • 1.27, Аноним (27), 22:46, 30/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    нужно чтоб увеличивало скорость исполнения программы, а так же уменьшало количество используемой оперативной памяти, во время её исполнения. а они производительность труда увеличивают, чтоб программист больше работал, и меньше при этом получал.
     
     
  • 2.28, Аноним (-), 22:57, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Одно другому не мешает, а при правильных подходах, когда дедлайны не сокращаются (ну вот такой я житель из страны эльфов), возросшая производительность труда сказывается в положительную сторону и на его качество. Это не считая того, что ещё может высвободится свободное время для самого программиста, если Вы понимаете о чём я.
     
  • 2.71, arisu (ok), 11:14, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    выше вы можете прочитать страдания java-быдлокодера.
     

  • 1.29, Аноним (-), 22:58, 30/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Facebook'у осталось открыть только Facebook
     
     
  • 2.34, Аноним (-), 23:36, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    правильный fix> Facebook'у осталось закрыть Facebook
     
  • 2.45, Crazy Alex (ok), 01:53, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Да ладно, прогресс делается на деньги дураков
     
     
  • 3.72, arisu (ok), 11:15, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Да ладно, прогресс делается на деньги дураков

    ты знаешь, если из денег дураков платят зарплаты Уолтеру и Андрею — ок. при таких раскладах я даже с пейсбуком готов смириться. ;-)

     

  • 1.39, Аноним (-), 00:20, 31/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А потом окажется в какой нить ответственный момент что кэш не обновился)))

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

     
     
  • 2.43, ананим (?), 01:29, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Абсолютно верно.
    Я вот бинарные пакеты для своих 100500 генто-виртуалок собираю, они вот это замутили.

    Но подход (как и алгоритм некоторых действий) может кому и пригодится.

     
     
  • 3.46, Ordu (ok), 02:01, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Эта фишка не для того, чтобы emerge -uD world занимал бы меньше времени. Warp не для юзера, а для разработчика, который правит код и периодически пересобирает его, дабы прогнать сквозь тесты.
     
     
  • 4.55, ананим (?), 08:07, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы знаете, я в курсе.

    Зыж
    Сразу видно, свои ебилды вы не делали.
    Порой прежде чем соберётся правильно (и как надо), несколько раз пересобирать и патчи накладывать приходится. И пересобирать объектные файлы точно не в кассу.

     
     
  • 5.58, Ordu (ok), 08:46, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Порой прежде чем соберётся правильно (и как надо), несколько раз пересобирать и патчи накладывать приходится.

    И часто вы этим занимаетесь?

     
     
  • 6.73, arisu (ok), 11:24, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > И часто вы этим занимаетесь?

    всегда так делает.

     

  • 1.44, SergMarkov (ok), 01:52, 31/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Сплошь новости корпораций. Это несказанно радует и вызывает бурные и продолжительные аплодисменты - есть надежда что из линукса что-то когда-то и получится..
    :-)
     
  • 1.56, qwerty (??), 08:28, 31/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Расскажите им про ccache уже.
     
     
  • 2.75, arisu (ok), 11:30, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Расскажите им про ccache уже.

    я тут хотел тебе рассказать про мозг и как его применять, но понял, что это бессмысленно.

     

  • 1.60, FyFy (?), 09:17, 31/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Когда я вижу тексты про "высокопроизводительные" программы, "легкие" окружения рабочего стола и т.д. и т.п., каждый раз хочется спросить - а что, раньше на 486-х работало "низкопроизводительное" ПО, "тяжелые" DE? Чтож все это высокопроизводительное и легкое с каждым новым релизом жрет все больше ресурсов ПК и работает все медленнее :)
     
     
  • 2.76, arisu (ok), 11:32, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а ты попробуй почитать ссылки, например. я понимаю, что имя Walter Bright тебе совершенно ничего не говорит, ты слишком тупой для этого — поэтому попробуй ссылки. а потом гугель. может, поймёшь, почему когда этот человек говорит про производительность инструментальных средств — его стоит слушать, а не выпендриваться.
     
  • 2.77, arisu (ok), 11:38, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    извини, я опять упустил из внимания то, что ты очень тупой. поэтому я тебе помогу: Walter Bright — это человек, который написал первый в мире промышленный C++ компилятор, не генерирующий промежуточный си-код. препроцессор там тоже был, натурально. и писалось это в те времена, когда 486 был топом дорогостоящих технологий. optlink, например, вообще полностью на ассемблере написан.

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

     

  • 1.78, Аноним (-), 11:55, 31/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Препроцессор - лютое зло!!!!
     
     
  • 2.80, arisu (ok), 12:02, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Препроцессор - лютое зло!!!!

    умница. надеюсь, ты пишешь на си без препроцессора вообще. покажи, а?

     
     
  • 3.83, Аноним (-), 12:53, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У меня жизненная позиция: на С/С++ не писать, ибо, препроцессор - лютое зло!
     
     
  • 4.84, arisu (ok), 13:03, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > У меня жизненная позиция: на С/С++ не писать, ибо, препроцессор - лютое
    > зло!

    пиши на D, там нет никакого препроцессора. хотя условная компиляция есть.

     
     
  • 5.85, Аноним (-), 13:05, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >пиши на D, там нет никакого препроцессора. хотя условная компиляция есть.

    Не учите дедушку кашлять. :) Мне есть на чем писать.

     
     
  • 6.86, arisu (ok), 13:10, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>пиши на D, там нет никакого препроцессора. хотя условная компиляция есть.
    > Не учите дедушку кашлять. :) Мне есть на чем писать.

    так я же не приказываю, я просто рекомендую. вполне современный язык, строго типизированый (ну, если кто-то считает это преимуществом — вопрос спорный, понятно), с мощными шаблонами и compile-time code generation, компилируется в эффективный машинный код. есть как независимый компилятор (DMD), так и компиляторы для llvm и gcc. все используют один и тот же frontend, так что расхождений по семантике нет.

    даже если ты не любишь c/c++ (второй я и сам не люблю) — есть смысл просто посмотреть: а вдруг понравится? если не понравится — и ладно.

     
  • 3.87, iZEN (ok), 13:12, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Можно подумать, что языки без препроцессора по сравнению с языками с препроцессором неполноценны и ущербны. Дедушка Вирт доказал, что это не так.
     
     
  • 4.88, arisu (ok), 13:16, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты, как всегда, ничего не понял, но Мнение Имеешь.

    для бесполезной информации тебе: я фан Oberon и Component Pascal.

     
     
  • 5.92, anonymous (??), 17:32, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/

    > для бесполезной информации тебе: я фан Oberon и Component Pascal.

    Чем хороши (для тебя)?

     
     
  • 6.93, arisu (ok), 17:44, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> для бесполезной информации тебе: я фан Oberon и Component Pascal.
    > Чем хороши (для тебя)?

    как минимум BlackBox Component Builder — лучшая среда для разработки, что я видел. да и сама Oberon OS очень крутая.

    как языки — очень логичные и понятные. принцип «а чего бы такого ещё выкинуть» способствует созданию выразительных и удобных вещей.

    не знаю, видимо мне «швейцарская школа» близка просто. если действительно так интересно — посмотри на BBCB, поработай с ним. это, мне кажется, лучший пример того, насколько крут Component Pascal.

     
     
  • 7.94, anonymous (??), 19:18, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>> для бесполезной информации тебе: я фан Oberon и Component Pascal.
    >> Чем хороши (для тебя)?
    > как минимум BlackBox Component Builder — лучшая среда для разработки, что я
    > видел. да и сама Oberon OS очень крутая.
    > как языки — очень логичные и понятные. принцип «а чего бы такого
    > ещё выкинуть» способствует созданию выразительных и удобных вещей.
    > не знаю, видимо мне «швейцарская школа» близка просто. если действительно так
    > интересно — посмотри на BBCB, поработай с ним. это, мне кажется,
    > лучший пример того, насколько крут Component Pascal.

    Гляну. А что за "швейцарская школа"?

     
     
  • 8.95, arisu (ok), 19:27, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну, так принято называть 171 школу Вирта 187 у него очень своеобразный подх... текст свёрнут, показать
     
     
  • 9.96, anonymous (??), 21:20, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо Это же он критиковал С, С и языки с расплывчастым синтаксисом за за... текст свёрнут, показать
     
     
  • 10.97, arisu (ok), 21:24, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    вроде бы да ... текст свёрнут, показать
     

  • 1.91, bOOster (?), 15:59, 31/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Хмм Zortech С был один из самых передовых компиляторов в свое время...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру