The OpenNET Project / Index page

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

Рассматривается возможность перевода NTPsec на язык Rust или Go

10.01.2017 06:47

Эрик Рэймонд (Eric S. Raymond), один из основателей организации OSI (Open Source Initiative), стоявший у истоков движения открытого ПО, изложил потенциальные планы по переводу разработки NTP-сервера NTPsec с языка C на более современный язык - Rust или Go.

Проект NTPsec стартовал в 2015 году как ответвление от NTP Classic, нацеленное на повышение безопасности. С тех пор была проведена чистка исходных текстов от устаревших возможностей, код приведён в соответствие стандартам C99/ANSI, функции работы с памятью и строками заменены на защищённые аналоги, не допускающие переполнения буфера, привнесены практики аудита кода, верификации и покрытия кода тестами.

Сегодня же, команда разработчиков NTPsec рассматривает возможность в перспективе перевести NTPsec на Rust или Go. Решение ещё не принято, но подготовка кода к такому шагу уже началась, например, код NTPsec избавляют от использования типов union и операций приведения типов (type punning). Рэймонд указывает срок 6-9 месяцев, в течение которого команда намерена принять окончательное решение и выбрать язык программирования.

Основными доводами в пользу смены языка является уход от небезопасных практик программирования на С, с целью повышения безопасности и надёжности NTPsec. Более конкретно, Рэймонд упоминает проблемы, вызванные выходами за границы буфера и висячими указателями (wild pointers), заявляя, при этом, что он готов отказаться от C, несмотря на всё то время, которое он с 1983 года и по сей день вложил в изучение C со всеми его нюансами, поскольку сегодняшние высокие требования к безопасности продолжают расти, пришла пора перейти на новый уровень и снизить частоту появления ошибок.

Эрик Рэймонд затрагивает и негативные стороны такого перехода, а также способы решить потенциальные проблемы. Например, в случае перевода на Go проблемы могут быть вызваны приостановками во время операций сборки мусора, что весьма критично для программы, синхронизирующей точное время. Такие проблемы, вероятно, могут быть преодолены запретом сборки мусора на время выполнения критичного к задержкам кода.

Дополнение: судя по новым публикациям, Эрик Рэймонд разочаровался в Rust.

  1. Главная ссылка к новости (https://blog.ntpsec.org/2017/0...)
  2. OpenNews: Выпуск ntpd 4.2.8p9 с устранением уязвимостей
  3. OpenNews: Проект OpenBSD выпустил NTP-сервер OpenNTPD 6.0
  4. OpenNews: В рамках проекта NTPsec создан защищённый форк NTPD
  5. OpenNews: Представлен NTP-сервер Ntimed, который будет развиваться параллельно с NTPD
  6. OpenNews: Подстановка лишней секунды через NTP была использована для атаки на Linux-системы
Автор новости: Ordu
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45832-rust
Ключевые слова: rust, ntpsec
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (143) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, eRIC (ok), 09:54, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Пробуйте, посмотрим что выйдет...
     
  • 1.2, Аноним (-), 09:55, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    сборка мусора останавлиапет выполнение программы?
     
     
  • 2.7, Аноним (-), 10:11, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    да
     
     
  • 3.12, Пользователь Debian (?), 10:38, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Нет STW останавливает, а параллельная сборка -- нет Цитата из https blog go... большой текст свёрнут, показать
     
     
  • 4.13, КО (?), 10:43, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +16 +/
    >Впрочем, запрещать GC в критических участках это логичная идея.

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

    Правда тут в соседней новости собираются написать транслятор из C в Раст, чтоб PostgreSQL потянул. Как осилят - можно будет и NTP налету конвертить. :)
      

     
     
  • 5.47, A (?), 14:20, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Уже! https://github.com/jameysharp/corrode. Мозилла кажись даже грант проекту дала.
     
     
  • 6.59, Аноним (-), 15:55, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Уже! https://github.com/jameysharp/corrode. Мозилла кажись даже грант проекту дала.

    На хаскеле?

     
  • 6.80, Аноним (-), 19:10, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Уже! https://github.com/jameysharp/corrode. Мозилла кажись даже грант проекту дала.

    Учитывая что у мозиллы браузер превращается в тыкву и гуглхорм его обижает - скоро они кажется утратят способность раздавать гранты на разную концептуальную хну. А откуда они на это деньги будут брать? :)

     
  • 5.65, Аноним (-), 16:14, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > А выбирать язык, основным достоинством которого является хрень, которую надо отключить - это достойно.

    Ну, блин, это ESR. Известный своими логичными и результативными достижениями. Правда наибольшую известность он почему-то снискал как холуй проприетарщиков.

     
  • 4.18, Ordu (ok), 11:15, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Любой сборщик мусора периодически останавливает потоки выполнения, просто потому, что нет другого способа пересчитать объекты, ссылки на которые лежат в регистрах и на стеке. Другое дело, что некоторые алгоритмы, на самом деле даже большинство алгоритмов, стремятся свести такие остановки к минимуму. Например, выполнить максимум работы в бекграунде, из параллельного потока. Помечать области памяти, с которыми идёт работа, флагом ro, с тем чтобы проводить все манипуляции несмотря на то, что программа продолжает работать с объектами -- и это проходит гладко, если программа ничего не меняет, но в случае, если она вносит изменения, процессор выкидывает исключение, выполнение задачи прерывается, сборщик мусора обрабатывает исключение и позволяет программе продолжать выполнение. Там есть разные техники преодоления этих проблем, между прочим очень любопытные -- я читал книжку об этом запоем, кстати очень рекомендую в качестве увлекательного чтения какое-нибудь систематическое описание этих алгоритмов. Но финально всё сводится к тому, что останавливаются _все_ потоки, сборщик мусора из каждого потока выковыривает содержимое регистров и стековых фреймов, быстренько составляет список объектов достижимых при помощи регистров и стека, после чего позволяет программе продолжать работу, а сам заканчивает итерацию сборки мусора. В самых продвинутых алгоритмах, этот этап остановки очень короткий и неплохо масштабируется, потому что остановив все потоки на всех процессах, сборщик мусора сам начинает работать многопоточно, задействуя все процессоры, для того чтобы быстро-быстро всё сделать.

    Но как бы там ни было, остановки, пускай и короткие, происходят, причём чем круче алгоритм, тем менее предсказуемо когда произойдёт остановка. Любая запись в память может привести к прерыванию и переключениям между ring3 и ring0. Периодически же будут возникать остановки типа stop-the-world. Это может быть неважно для десктопного приложения, но для синхронизации времени, где речь идёт о микросекундах -- это не вариант. Точнее не так: это может быть допустимо, и Раймонд говорит о том, что может быть "и так проканает", если паузы действительно будут измерятся небольшим числом микросекунд, как обещают go-фаги. Но может быть и не проканает.

     
     
  • 5.19, лютый жабист__ (?), 11:39, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –17 +/
    Ох уж эти эксперты по сборке мусора опеннета 8))))) можно начать (и закончить) с того, что сборщик обычно включается раз в несколько часов и при активном удалении объектов.

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

     
     
  • 6.23, Ordu (ok), 12:05, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > можно начать (и закончить) с того, что сборщик обычно включается раз в несколько часов и при активном удалении объектов.

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

     
  • 6.66, Аноним (-), 16:15, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > закончить) с того, что сборщик обычно включается раз в несколько часов
    > и при активном удалении объектов.

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

     
  • 5.102, Аноним (-), 00:33, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть реализации GC без Stop The World. Такая, например, используется в Erlang. Достигается это тем, что у каждого микропроцесса в Erlang'е своя куча.
     
     
  • 6.115, Аноним (-), 12:19, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    STW-то официально может и нет, но потоки останавливаются точно так же. Другое дело что паузы очень короткие и эрланг сам по себе просто тормоз для конкретно этой задачи.
     
     
  • 7.120, Аноним (-), 18:41, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >STW-то официально может и нет, но потоки останавливаются точно так же.

    Нет, не точно так же. Во-первых, не нужно синхронизировать остановку всех потоков, т.е. сами потоки не бывают остановлены на дольшее время чем нужно для сборки мусора в их конкретной куче. Во-вторых, остановка никогда не происходит в произвольном месте, обычно сборка мусора происходит при вызовах, выделяющих память, либо на блокирующих функциях типа ввода-вывода или, в случае erlang, отсылки-приёма сообщений. На том же хацкелле можно легко написать код, работающий в константной памяти и не дёргающий GC в принципе.

    Erlang, кстати, не такой тормоз. Но других косяков у него до жопы :(

     
  • 4.55, rshadow (ok), 15:20, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В любом случае производительность рандомно проседает. Для реалтайма под нагрузкой GC наверно самое худшее решение.
     
  • 4.130, qsdg (ok), 02:24, 12/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В той статье где разработчики Go хвалятся их будущим супер-сборщиком мусора на самом деле на рассмотрено ни одно негативное последствие их решения. Они преподносят свою идею как нечто революционно новое, хотя на самом деле всё что они делают уже давно известно 10+ лет. Они просто выбирают все возможные компромиссы ради укорочения паузы сборки мусора (но, например, частота таких пауз у них возрастает). Вот более подробный анализ недостатков их hype-collector:
    https://blog.plan99.net/modern-garbage-collection-911ef4f8bd8e

    И таки да, любой сборщик мусора требует STW, даже теоретически невозможно сделать по-другому. Другое дело, что если этот STW -- считанные микросекунды, то всем пофиг. Хотя проектам типа NTP может быть и не пофиг.

     
  • 3.76, www2 (ok), 18:08, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > да

    Вытесняющая многозадачность, даже если в системе несколько ядер или процессоров, тоже прерывает выполнение программы. Выполняется ваша программа без сборщика мусора, а тут прерывание прилетает - диск сообщил, что прочитал заказанные секторы. Выполняется дальше - а тут сетевая карта сообщает, что она буфер пакетами наполнила. Особенно много подобных эффектов будет в нагруженных системах, где работает больше одной программы. Там сборка мусора может быть просто незаметной на общем фоне торможения.

     
  • 2.29, Andrey Mitrofanov (?), 12:36, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > сборка мусора останавлиапет выполнение программы?

    "Да, но." Там наверху по ссылке ESR сказал, [такую кепку] надо мерять:
    [I]"In any case, the Go developers have a pretty convincing story about holding stop-the-world pauses down to the small-number-of-milliseconds range. We’ll have to measure, but that just might be tolerable even without the GC lockout."[/I]

    И вообще, нас, анонимов, не спросят (но мы будем следить, да...):
    [I]"In the end it might come down to which language I feel more comfortable in."[/I]

    ---Классик, http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bull б--нть.

     
  • 2.92, Аноним (-), 20:35, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и отупляет мозг программиста
     

  • 1.3, Sfinx (ok), 09:56, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    "пропала планета..." (c) космоболы
     
     
  • 2.4, Аноним (-), 10:02, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    учитывая что это всего лишь спутник NTP Classic, а не планета, то такие эксперименты на пользу - если что можно вернуться или форкнуть
     

  • 1.5, Аноним (-), 10:04, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    голосую за раст
    сборку мусора мы уже проходили, любопытнее глянуть, что покажет альтернативный подход
     
     
  • 2.11, Пользователь Debian (?), 10:33, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > голосую за раст
    > сборку мусора мы уже проходили, любопытнее глянуть, что покажет альтернативный подход

    Ну, и будут они его переписывать при каждом выходе нового релиза Раста.

    Ах, да, а Раст уже научился компилироваться на чём-то, отличном от i686 и amd64?

     
     
  • 3.14, эцсамое (ok), 10:45, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    да хоть в джаваскрипт умеет.
     
  • 3.30, arzeth (ok), 12:40, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://forge.rust-lang.org/platform-support.html
    Уже умеет компилировать на и для mips, mipsel, mips64, mips64le, ppc, ppc64, ppc64le, s390x.
     
     
  • 4.113, Аноним (-), 11:53, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так он же просто поддерживает всё что умеет LLVM, разве не так?

    p.s. Если так то там только вопрос насколько корректна и качественна поддержка той или иной архитектуры в LLVM

     
  • 2.58, Аноним (-), 15:29, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не голосуй, а пойди и поучаствуй, если такой умный.
     
     
  • 3.121, Аноним (-), 19:44, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже голосую за Rust
     

  • 1.6, анонимчик (?), 10:09, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    1. что там такого надо переводить, все должно быть уже вылизано до блеска.
    2. в чем новость? вот когда решат, тогда и будет новость. а сейчас пустая информация.
     
  • 1.8, Бутират (?), 10:23, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Началось!
     
     
  • 2.122, Аноним (-), 19:47, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что? Сингулярность?
     
     
  • 3.148, anonymous (??), 10:50, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, на ноль поделили
     

  • 1.9, Spalf (ok), 10:23, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На язык Rust или Go. Совсем никакой разницы, ага.
     
     
  • 2.10, Пользователь Debian (?), 10:32, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так потому и 6-9 месяцев на решение.
     
     
  • 3.35, НяшМяш (ok), 13:00, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    По-моему, за это время можно накатать два прототипа на обеих языках. Особенно, с учётом того, что код уже есть - его надо просто "перевести"
     
     
  • 4.41, хрю (?), 13:52, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >По-моему, за это время можно накатать два прототипа на обеих языках.

    Накатайте. Как люблю теоретиков.

     
  • 4.81, Аноним (-), 19:14, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > По-моему, за это время можно накатать два прототипа на обеих языках.

    И этот код чувствителен к времени выполнения и прочим мелочам. Там вон народ с PTP за наносекунды давится и timestamp пакетов аж с сетевухи снимает, а этим GC видите ли не мешает.

    > Особенно, с учётом того, что код уже есть - его надо просто "перевести"

    А если так подумать - круто получается: софтина не выполняет свою прямую задачу (синхронизация точного времени). Зато, блин, на go.

     
     
  • 5.107, . (?), 06:07, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >софтина не выполняет свою прямую задачу (синхронизация точного времени). Зато, блин, на go.

    Или на ржавчине.

     
     
  • 6.124, Аноним (-), 20:00, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У ржавчины нет сборщика мусора, там всё четко.
     
  • 5.114, Аноним (-), 11:55, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> По-моему, за это время можно накатать два прототипа на обеих языках.
    > И этот код чувствителен к времени выполнения и прочим мелочам. Там вон
    > народ с PTP за наносекунды давится и timestamp пакетов аж с
    > сетевухи снимает, а этим GC видите ли не мешает.

    В новости - использование "безопасных строк" так-что какая-то часть rust-а ( или go или вплоть до php ) уже привнесена в проект.

     
     
  • 6.138, Аноим (?), 06:52, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В новости - использование "безопасных строк" так-что какая-то часть rust-а ( или
    > go или вплоть до php ) уже привнесена в проект.

    Это с чего бы? Безопасные строки сами по себе к горастам никак не относятся. Впрочем, ESR известен своей могучей тягой к хайпу и прочему корпоративно-маркетинговому булшиту.

     
  • 4.123, Аноним (-), 19:59, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    язык - он
     

  • 1.15, _hide_ (ok), 10:47, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >>> несмотря на всё то время, которое он с 1983 года и по сей день вложил в изучение C со всеми его нюансами

    в оригинале он ничего "не вкладывал", а просто на нем разрабатывал:
    >>> I’ve been writing steadily in C since 1983, and am correspondingly deeply aware of its quirks and flaws

     
     
  • 2.56, Аноним (-), 15:26, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    "Вложил свои силы и энергию в разработку программ и изучение C" --- вполне правильный перевод.
     
     
  • 3.61, _hide_ (ok), 15:59, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да, всё дело в формулировке. Неуместным казалось "вложил в изучение". Вообще тут очень скользкая тема, потому спецификация довольно тривиальна и логична, а вот компиляторы... А они имеют свои особенности и именно на их изучение тратится много время, а не на C.
    Ладно, ждем NTPsec на GO.
     
  • 3.93, Михрютка (ok), 21:35, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    два словаря Мюллера этому господину.
     
  • 2.100, Comdiv (ok), 23:53, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Как-то ловко Вы пропустили следующее предложение - "Despite my huge investment of time in the language, I’m ready."
     
     
  • 3.111, _hide_ (ok), 10:45, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Инвестиции !== вложения.
    Ладно, проехали, пошёл искать Мюллера...
     
     
  • 4.112, Аноним (-), 11:05, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    investment (ɪnˊvestmənt) n

    1) инвести́ция; вклад
    2) (капитало)вложе́ние, помеще́ние де́нег, инвести́рование
    3) предприя́тие или бума́ги, в кото́рые вло́жены де́ньги
    4) оде́жда, облаче́ние
    5) облече́ние полномо́чиями, вла́стью и т.п.
    6) воен. оса́да, блока́да
    7) attr.:
        investment bank амер. инвестицио́нный банк;
        investment goods това́ры произво́дственного назначе́ния;
        investment outlet сфе́ра примене́ния капита́ла

    Очевидно, в оригинале имелась в виду "одежда" или "осада", да.

     

  • 1.16, бедный буратино (ok), 11:01, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    пацаны из openntpd и не знают
     
     
  • 2.20, mike_t (?), 11:39, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    пацаны из openntpd написали бы сначала ntp, а не sntp
     
     
  • 3.83, Аноним (-), 19:19, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > пацаны из openntpd написали бы сначала ntp, а не sntp

    Извини, если в софтину втулить все эти керберосы, лдапы и TLS - она перестанет быть секурной на любом ЯП. Просто потому что адские сотни кода. Поэтому пусть лучше остается как есть. Так он будет безопасным даже на сишечке, а хомяки с го и прочие раст-о-маны будут CVE пачками чинить. DJB про надежность софта все очень правильно ведь сказал. И без привязки к ЯП вообше.

     

  • 1.17, Аноним (-), 11:04, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –13 +/
    Наконец даже до старпёров начало доходить что C пользоваться нельзя ни под какими предлогами.
     
     
  • 2.21, доктор психиатор Котлетова (?), 11:54, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет, пока не начало.
     
  • 2.22, Аноним (-), 11:54, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    судя по его комменту он давно был готов соскочить с С, но до недавнего времени не было даже кандидата куда

    >> I want to finish by saying that I find it rather exciting to be working at a time when replacing C in core infrastructure like NTP is even thinkable.

     
     
  • 3.89, XoRe (ok), 19:46, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > судя по его комменту он давно был готов соскочить с С, но
    > до недавнего времени не было даже кандидата куда
    >>> I want to finish by saying that I find it rather exciting to be working at a time when replacing C in core infrastructure like NTP is even thinkable.

    Не готов, а просто радуется, что появились альтернативы.
    В чем-то его можно понять, монополия никому не шла на пользу.
    В том числе, монополия на звание "единственного языка системного уровня".

     
  • 2.24, Аноним (-), 12:08, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А чем можно?
     
  • 2.57, Аноним (-), 15:28, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Наконец даже до старпёров начало доходить

    А то много с ними общался, что бы такие заявления делать?

     
  • 2.84, Аноним (-), 19:20, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Наконец даже до старпёров начало доходить что C пользоваться нельзя ни под
    > какими предлогами.

    Ух, ты уже перешел на ту чудо-систему на Rust? Где один кернел для запуска гиг требует? И файлуху еще возьми, нуб.

     
  • 2.125, Аноним (-), 20:03, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы хотели сказать нежелательно? Я думаю у старперов..., да и не только, этот вопрос как минимум пока открыт
     

  • 1.25, Аноним (-), 12:12, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Просто за C11, видимо, дело идет к новому стандарту Си.
     
     
  • 2.31, Ordu (ok), 12:47, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html

    Такие откровения от разработчиков современных компиляторов, наводят на мысли, что C имеет фатальные недостатки, которые невозможно устранить, не ломая конкретно совместимость с существующей базой кода на C.

    И именно такие мысли, я подозреваю, сделали неотвратимым появление всяких там rust и Go.

     
     
  • 3.60, Аноним (-), 15:57, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html
    > Такие откровения от разработчиков современных компиляторов, наводят на мысли, что C имеет
    > фатальные недостатки, которые невозможно устранить, не ломая конкретно совместимость
    > с существующей базой кода на C.
    > И именно такие мысли, я подозреваю, сделали неотвратимым появление всяких там rust
    > и Go.

    Разработчики современных компиляторов сами себя в эту ситуацию загнали, некоторые оптимизации которые они используют и их реализация вообще спорны. И к языку как таковому это по моему не совсем относится, C всегда был "ассемблером с человеческим лицом".

     
     
  • 4.64, Аноним (-), 16:14, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    клоун: описанные оптимизации невозможны без ОЧЕНЬ несбалансированных настроек компилятора.

    Взять первую описанную проблему - удаление строки dead = *p. Даже если переменная dead не используется, разыменование является значащей операцией и компилятор до проверки на NULL эту строчку никогда не удалит.

    Однажды автора подобных статей поймали на прямой лжи и он заявил что просто выдумал свои примеры.

     
     
  • 5.72, Ordu (ok), 17:52, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В C это значащая операция Да и то не всегда В C же разыменование не имеет по... большой текст свёрнут, показать
     
     
  • 6.73, Аноним (-), 17:57, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    клоун: именно потому, что она может повлиять на логику выполнения программы, эта операция является значащей.

    То, компилятор не учитывает это простое правило, многое говорит о его качестве.

     
     
  • 7.75, Аноним84701 (ok), 18:07, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Оно clang 3 9 1 -O3 -S -masm intel test c CODE contains_null_check ... большой текст свёрнут, показать
     
     
     
    Часть нити удалена модератором

  • 9.79, Аноним (-), 18:41, 10/01/2017 [ответить]  
  • +/
    Напишите, пожалуйста, название книги если она вообще есть в электронном вариант... текст свёрнут, показать
     
  • 9.90, жабабыдлокодер (ok), 20:22, 10/01/2017 [ответить]  
  • +/
    А потом ставим этот самый Автокад на нормальный компьютер, на котором громадные ... текст свёрнут, показать
     
  • 9.91, Тот_Самый_Анонимус (?), 20:29, 10/01/2017 [ответить]  
  • –1 +/
    То, что углов больше 90, почему-то не рассматривается Может это просто гонево ... текст свёрнут, показать
     
     
  • 10.101, Аноним (-), 00:24, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Его фраза для компании AutoCAD прекрасно демонстрирует, что он даже название п... текст свёрнут, показать
     
     
  • 11.105, Аноним (-), 01:53, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    клоун Эта история мне нравится по двум причинам Во-первых, она мотивирует А в... текст свёрнут, показать
     
     
  • 12.106, Тот_Самый_Анонимус (?), 05:28, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты красиво обошёл замечание, что углы не ограничиваются градусами Видать эта ин... текст свёрнут, показать
     
     
  • 13.108, . (?), 06:14, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Он клован, а не математик программист ботаник Ынженер Зачем кловану радиа... текст свёрнут, показать
     
  • 3.126, Аноним (-), 20:10, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да. При том недоработки, которые делают невозможными некоторые оптимизации, многочисленны. Есть еще вариант ввести альтернативный синтаксис, но за это их возненавидят. У Rust'а же безопасность дает побочный эффект в виде улучшеного статического анализа и оптимизации компилятором. Например при копировании областей памяти заранее известно, пересекаются они, или нет. У С/С++ всё на указателях, включая весь stl, там нужны проверки в рантайме.
     

     ....большая нить свёрнута, показать (14)

  • 1.26, Аноним (-), 12:13, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    http://geekz.co.uk/lovesraymond/wp-content/images/ep013.jpg
     
  • 1.28, Гентушник (ok), 12:28, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    По-момему с C было бы логичнее перейти на D. И сборка мусора там есть.
     
  • 1.32, Аноним (-), 12:50, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В тексте проскальзывает желание изменить практики программирования, а как средст... большой текст свёрнут, показать
     
     
  • 2.33, Аноним (-), 12:55, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Прошу прощения, Татьяну Устинову. Я - знаток :)
     
     
  • 3.42, Аноним (-), 13:53, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    клоун: по сути ты тоже предлагаешь новый ЯП, только компилировать предлагаешь не в бинарный код/псевдокод, а в код на языке Си, который потом будет скомпилирован в бинарный код/псевдокод. Зачем нужна прослойка в виде Си? И если нужна, то почему именно Си?

    Другой момент: производительность ПК достигла уровня, когда можно больше не экономить память (кто не помнит, в MS DOS использовали три глупых команды вместо двух умных чтобы сэкономить 1 байт). И сейчас производительность подходит к уровню, когда можно больше не беспокоиться об освобождении памяти: программист её только выделяет, сборщик мусора автоочищает. Новые техники программирования требуют новых языков, их использующих.

     
     
  • 4.48, Аноним (-), 14:27, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Эмбендовка смотрит на тебя, как на PHPера и Goпника.
     
     
  • 5.49, Аноним (-), 14:38, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    клоун: если ты про "умные" вещи, то там стоит уже весьма производительное оборудование. Вот на последней выставке "умное мусорное ведро" представили с распознаванием выкидываемого мусора. Что-то я очень сомневаюсь, что у них ПО на асме или на Си.
     
     
  • 6.87, Аноним (-), 19:41, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Производительность очень уж клещится с энергопотреблением. Маленькая система много лопать не может потому что перегреется. А многие эмбедовочные системы нуждаются еще и в автономном питании или им вообще технически невозможно mains протянуть. Я что, буду тянуть 220 вольт к каждому датчику протечки? Чтобы как раз растекающиеся по воде 220 вольт всех положили, мде?
     
     
  • 7.95, Аноним (-), 22:00, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    клоун: беспроводная зарядка будет в домах в течении 5 лет. 220 В будет по всей хате без проводов.

    Как там было в "Назад в будущее":
    - когда ты допаяешь, зарядка уже будет. Четырёхмерное мышление.
    - Аааа! Ну да... У меня с этим туго...

     
     
  • 8.133, Аноним (-), 17:35, 12/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    220 да и поболее без проводов уже давно есть в некоторых местах практически в ... большой текст свёрнут, показать
     
  • 8.139, Аноним (-), 07:05, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да оно и прям ща можно Открыл микроволновку и врубил Энергии наружу вылезет не... большой текст свёрнут, показать
     
  • 4.53, Аноним (-), 15:01, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Язык C, как прослойку, часто используют для того, что бы поддержать бОльший спек... большой текст свёрнут, показать
     
     
  • 5.63, Аноним (-), 16:09, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    клоун: трансляцию в другой ЯП используют только если не смогли написать компилятор.

    > пошли по пути разработки собственных инструментов по генерации и верификации С-кода

    Зачем? В новых ЯП или сама проблема больше не возникает, или есть более простое её решение. Пробовал когда-нибудь отлаживать ассемблер? Каким бы удобным не был отладчик для асма, отлаживать Си на порядок быстрее, удобнее и проще. А работать с новыми ЯП ещё быстрее и проще, чем с Си.

     
  • 4.85, Аноним (-), 19:29, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Другой момент: производительность ПК достигла уровня, когда можно больше не экономить память

    Микроконтроллерам все это расскажешь. Как захочется поработать 5 лет от пары пальчиковых батареек - так народ творит просто чудеса оптимизации. Зато и результат того стоит.

    И вот что-что а маложручие дешевые датчики - это основа основ IOT. Без них далеко не уедешь. В смысле, если ты свой х86 гроб прицепил к интернету и мусорке это еще не IoT и даже не эмбедовка как таковая. А как все это потом работает популярно разъяснил гражданин Зенков. У которого однажды не включился насос в его системе. Мало кому такие плюхи в управляющих системах захочется.

     
     
  • 5.116, Аноним (-), 14:28, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    С одной стороны да, с другой, от полностью аппаратной логики отказываются "почти везде", хотя она экономичней чем микроядро с 4кб. кода, т.е. всегда есть несколько параметров, иногда "выгодней" заряжать раз в день (смартфоны) иногда мелкосерийные сбис и аналоговые вычислители.
     
     
  • 6.117, Аноним (-), 14:30, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > С одной стороны да, с другой, от полностью аппаратной логики отказываются "почти
    > везде", хотя она экономичней чем микроядро с 4кб. кода, т.е. всегда
    > есть несколько параметров, иногда "выгодней" заряжать раз в день (смартфоны) иногда
    > мелкосерийные сбис и аналоговые вычислители.

    P.s. Есть ещё такие вещи как влияния "массовости" на потребление ресурсов, современный процессор на 60нм. может жрать меньше чем заказные "схемы на толстых кристаллах"

     
  • 6.140, Аноним (-), 07:15, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Так МК как раз и делает все в софте Железом какие-то тяжелые операции подперты,... большой текст свёрнут, показать
     

  • 1.36, Аноним (-), 13:16, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот так, сначала учат юных падованов на "удобных" языках, а потом, обнаружив, что те не умеют писать продуманный код, ищут, какой бы такой "безопасный" язык подобрать для своих криворуких выкормышей.
     
     
  • 2.68, Аноним (-), 16:26, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    клоун: ИТ перегрет. Дорогостоящие специалисты с "системным мышлением лямбда-паттернами" уступают своё место гораздо более дешёвым.

    Ты знаешь 10 алгоритмов сортировки и 4 алгоритма транспонирования матриц? Это давно никому не нужно.

    Ной, не ной, но за этим будущее. И в нём ИТ-шник зарабатывает не больше, чем водитель троллейбуса.

     
     
  • 3.74, www2 (ok), 18:00, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не так. ИТ-шники со знанием 10 алгоритмов сортировки и 4 алгоритмов транспонирования матриц пишут автопилот для автобусов, а осовободившиеся водители троллейбусов переквалифицируются в программи^Wб*длокодеры и продолжают получать те же деньги, но теперь уже не за вождение троллейбусов, а за каловые массы кода.
     
     
  • 4.77, Аноним (-), 18:15, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    клоун: те же деньги? Держи карман шире... Онлайн-биржи чётко показывают тренды: ИТ - это индусы по 5 копеек.

    Если смотреть шире, то это та самая уберизация, о которой столько говорят в других сферах. Вместо дорогостоящего профессионального такси с профессиональным таксистом, тебе готовы за копейки подогнать машину, которая едет в ту же сторону.

     
     
  • 5.86, Аноним (-), 19:37, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > - это индусы по 5 копеек.

    Правильно. Потому что основам программизма нынче учат в любом вузе и даже школе. И индусов тоже! Поэтому если ты умеешь писать какую-нибудь вебню как еще милиард индусов - получается что ты в общем то ничего такого уникального и не умеешь. Сюрприз.

    И работать за зарплату водителя троллейбуса - удел вот таких специалистов. Которые специалисты ни в чем. Ну как, писать glue code склеивающий функции фреймворка может даже индус. Значит это стоит вот столько. А водителей троллейбусов вообще зохвает автопилот в самом обозримом будущем. Компьютеры лучше в рутинных работах.

     
     
  • 6.96, Аноним (-), 22:04, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    клоун: Именно. Только не "таких вот", а всех. Стремясь зарабатывать больше, они захавают соседние области, в результате доходы отрасли в целом скатятся под плинтус.

    Сроки тоже примерно понятны. Пока ИТ растёт на 10-15% в год этого не случится, но замедлись рост до 1-5%, как в других отраслях - и вот тебе берег, приплыли!

     
     
  • 7.141, Аноним (-), 07:29, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не вижу предпосылок Обычное разделение на чернорабочих и квалифицировнные кадры... большой текст свёрнут, показать
     

  • 1.37, evkogan (?), 13:23, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Выглядит как, мы сделали все хорошо, теперь нам скучно. Думаем, а не поломатьли и начать заново.
     
  • 1.38, Юрий (??), 13:25, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А смысл переходить? Расскажите мне, необразованному, с чем там С не справился.
     
     
  • 2.39, Аноним (39), 13:36, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Программисты уже не те. Хакеры не те. Это как гвозди без перчаток забивать - удобно, но после десятого удара по пальцам внезапно задумался.
     
  • 2.40, Аноним (-), 13:43, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    в первом же абзаце сказано
    >> One of the medium-term possibilities we’re seriously considering for NTPsec is moving the entire codebase out of C into a language with no buffer overruns, and in general much stronger security and correctness guarantees.

    похоже за буфером следить слишком муторно
    насчет других проблем можно почитать по ссылочке, которую давали выше
    http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html

     
  • 2.44, Ordu (ok), 14:06, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    C в состоянии справиться с чем угодно -- он тьюринг-полный язык программирования... большой текст свёрнут, показать
     
     
  • 3.46, Юрий (??), 14:17, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо большое! Я примерно так и думал!
     

  • 1.43, Аноним (-), 13:58, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне кажеться, подобный сверхважный софт надо писать на Forth и математически подтвердить надежность. А писать на всяких rust, переписывать из-за новых хипстерских идей в компиляторе это не для такого софта.
     
     
  • 2.45, Ordu (ok), 14:08, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    И платить за ntp-сервер по $500 в месяц?

    Часть 1: https://blog.pivotal.io/labs/labs/ntp-server-costing-500year
    Часть 2: https://blog.pivotal.io/labs/labs/ntp-server-costing-500year-part-2-characteri

    Ну, то есть, там проблема была не в том, что код сервака был особо тормозным, но если бы он был ещё и тормозным...

     
     
  • 3.94, Михрютка (ok), 21:49, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И платить за ntp-сервер по $500 в месяц?
    > Часть 1: https://blog.pivotal.io/labs/labs/ntp-server-costing-500year
    > Часть 2: https://blog.pivotal.io/labs/labs/ntp-server-costing-500year-part-2-characteri
    > Ну, то есть, там проблема была не в том, что код сервака
    > был особо тормозным, но если бы он был ещё и тормозным...

    ето ничего, ето я еще не вижу в графиках вообще ни разу хостов из-под HyperV, где хостить линь без ntpd крайне проблемно, время уезжает шо ппц. и тут же мы накинем лопатой IoT. вы думаете, там будут синкаться 1-4 раза в сутки? а вот фиг вам, только ntpd, только хардкор. кушайте не обляпайтесь.

     

  • 1.51, Аноним (-), 14:48, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Rust 8239 8212 это системный язык программирования, внимание которого сосред... большой текст свёрнут, показать
     
     
  • 2.52, Аноним (-), 15:00, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Будто прочитал рекламную листовку.
     
  • 2.103, Аноним (-), 00:43, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Его конструкции близко сопоставляются типичным машинным инструкциям

    Не поэтому ли чуть менее, чем во всех бенчмарках компилируемых языков именно Си выступает в качестве эталона? Не близость ли к железу позволяет программисту (при достаточной квалификации, разумеется) лучше понимать, как именно будет работать скомпилированный код и как его можно {на|пере}писать, чтобы выжать из железа максимум?

     
     
  • 3.119, Аноним (-), 15:15, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Не близость ли к железу позволяет программисту (при достаточной квалификации, разумеется) лучше понимать, как именно будет работать скомпилированный код

    Только действительно понимает, хорошо, если один из десяти.
    Остальные или считают, что они понимают или вообще из категории "напишу-ка на асме^W cи, ведь это круто! А еще там пони магией починят мои х*еновые структуры данных с алгоритмами. Какие кэшмиссы, бранчпредикшн и выравнивания с симдами? Там же МАГИЯ!"

     
     
  • 4.129, Аноним (-), 00:27, 12/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С магией лучше к поклонникам того же Rust-а, например, то и дело лезущим со своей верой в способность компилятора если и не превратить кривой код к конфетку, то, как минимум, невозможность компиляции этой кривоты (типа статический анализ, обещания безопасности и всё такое). *По моим личным наблюдениям*, сишники/плюсовики куда более склонны более-менее адекватно оценивать сложность написания качественного кода на этих языках и признавать огромное количество грабель, по которым можно при этом пройтись.
     
     
  • 5.136, Аноним (-), 20:00, 12/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > С магией лучше к поклонникам того же Rust-а, например, то и дело
    > лезущим со своей верой в способность компилятора если и не превратить
    > кривой код к конфетку, то, как минимум, невозможность компиляции этой кривоты
    > (типа статический анализ, обещания безопасности и всё такое).

    Как будто неолуддиты, отвергающие технический прогресс, чем-то лучше.
    По их логике правда и беспилотные автомобили всегда будут только игрушкой для неосиляторов вождения, потому как, пока что, даже весьма посредственный водитель уделывает таких автопилотов на раз!
    Да и тест Тюринга эти автопилоты тоже не проходят! )

     
  • 2.142, Аноним (-), 07:34, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Rust — это системный язык программирования,

    И как, много на нем систем то уже напрограммировали? Бутлоадер на этой системщине напсать? Или под микроконтроллеры попрограммить? А то понимаешь совсем не круто знать пять разных языков для разных задач, каждый понемногу и хреновенько. Получится один сплошной джамшутинг. Ну вон там в соседней новости питонобезопасность, понимаешь.

     

  • 1.54, th3m3 (ok), 15:15, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я понимаю ещё Rust, но на Go переходить? Жесть.
     
     
  • 2.70, J.L. (?), 17:17, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я понимаю ещё Rust, но на Go переходить? Жесть.

    аргументируйте

     
     
  • 3.104, Аноним (-), 00:52, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В комментариях к оригиналу даже NodeJS предложили. Стильно-модно-молодёжно, ага.
    Если изначальное заявление не содержит даже намёков на аргументацию, то, скорее всего, её и потом не будет.
     

  • 1.69, Аноним (-), 17:16, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если уже совсем нет возможности оставаться на Си, то тогда хотя бы Go, но никак ни Rust.
     
     
  • 2.71, J.L. (?), 17:18, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Если уже совсем нет возможности оставаться на Си, то тогда хотя бы
    > Go, но никак ни Rust.

    аргументируйте

     
     
  • 3.82, Мадара (ok), 19:14, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    наверное по той же причине почему не C++
     
     
  • 4.131, Аноним (-), 09:45, 12/01/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Тогда должен быть Rust, а не Go
     
  • 3.134, Андрей (??), 18:24, 12/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    1. Go был предложен в 2009 как альтернатива Си.

    2. Именно участвующие в разработке Си и его диалекта в Plan9 разрабатывают Go.

    3. Компилятор очень быстрый (а был вообще как молния).

    4. Минимум зависимостей для сборки.

    5. Весь компилятор с линкером, ассемблером, солидной стандартной библиотекой собираются у меня за полторы минуты! А конца сборки Rust я так и не дождался. Вот числа с buildd.debian.org:
    golang-1.7 1.7.4-1 amd64 5m 400.29 MB
    rustc 1.14.0+dfsg1-2 amd64 7h 3m 3.45 GB
    (Builder: x86-grnet-01)
    Источник:
    https://buildd.debian.org/status/logs.php?pkg=golang-1.7
    https://buildd.debian.org/status/logs.php?pkg=rustc
    Это не то что нельзя с Си сравнить, это просто ещё хуже Си++!

    6. И там уже есть утилитки как трейсер, профайлер,..

    7. Очень удобная кросс-компиляция. Проще не видел.

    8. Из поддерживаемых платформ есть Plan9.

    Наверняка, ещё что-то забыл.

     
     
  • 4.135, Аноним (-), 19:32, 12/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 1. Go был предложен в 2009 как альтернатива Си.

    Было дело. Если поискать, то пиарили в самом начале как "системный" язык.
    Только на деле он такая же альтернатива Си, как опеннетчики балеринам.

     
     
  • 5.145, Andrey Mitrofanov (?), 09:09, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> 1. Go был предложен в 2009 как альтернатива Си.
    > Было дело. Если поискать, то пиарили в самом начале как "системный" язык.
    > Только на деле он такая же альтернатива Си, как опеннетчики балеринам.

    Все на Lisp ! Ура.
       https://www.gnu.org/software/guix/
       https://www.gnu.org/software/shepherd/

    //Поясняю: scheme - это lisp, в хоро ^W широком смысле. См.историю лиспов, lisp-1--vs--lisp-2 и пр. ==Для контекста [опенета] разницы нет.
    +++"Это я вам, как троль-балерина в первом поколении говорю."ТМ

     
  • 4.143, Андрей (??), 07:54, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    6. ..., race detector,..
     
  • 3.144, Андрей (??), 08:07, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот и Eric Raymond уже обнаружил, что даже для простой конкатенации строк в Rust нужен целый ритуал, да и вообще Rust не подходит:
    Rust is presently unusable
    https://gitlab.com/NTPsec/blog/commit/46d9882054e0d0cb698ad96141a30fac3efa991f

    "...
    Then I found out that a feature absolutely critical for writing
    network servers is plain missing from Rust. Contemplate this bug
    report: https://github.com/rust-lang/rust/issues/14961[Is there some
    API like "select/poll/epoll_wait"?] and get a load of this answer:

    "We do not currently have an epoll/select abstraction. The current answer
    is "spawn a task per socket".

    Upon https://github.com/rust-lang/rust/issues/27800[further
    investigation] I found that there are no proposals to actually fix
    this problem in the core language. The comments acknowledge that there
    are a welter of half-solutions in third-party crates but describe no
    consensus about which to adopt.
    ..."

     
     
  • 4.146, Andrey Mitrofanov (?), 09:14, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот и Eric Raymond уже обнаружил, что даже для простой конкатенации строк
    > в Rust нужен целый ритуал, да и вообще Rust не подходит:

    +
    12 Jan 2017 21:19  Eric Raymond "Rust severely disappoints me" http://esr.ibiblio.org/?p=7294

    С другой стороны... может, он ещё не принюхамши к прогрессу? Молодёжнее надо, Реймонд!

     

  • 1.97, Аноним (-), 22:38, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    забавно но на swift даже не смотрят
     
  • 1.98, Аноним (-), 23:20, 10/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Почему rust'аманы и go'пники стали такими активными?
     
     
  • 2.99, Comdiv (ok), 23:48, 10/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Эрик Рэймонд к кому из них относится? Также было бы неплохо представить ваши достижения, просто чтобы понять, чей опыт весомей - Эрика или Анонима.
     
     
  • 3.147, Andrey Mitrofanov (?), 09:18, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Эрик Рэймонд к кому из них относится?

    К "таким активным", элементарно же. Ж)))

    +++см.также https://www.opennet.ru/openforum/vsluhforumID3/110122.html#138 выше

     

  • 1.109, Аноним (-), 07:03, 11/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Гугел решил потихоньку все ПО под себя переписать, контролировать удобней :)
     
  • 1.110, Игорь (??), 07:53, 11/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну сейчас блин все на Rust начнут переписывать, а я так люблю C :(
     
     
  • 2.118, Аноним (-), 14:34, 11/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Ну сейчас блин все на Rust начнут переписывать, а я так люблю
    > C :(

    Останетесь ценным маргиналом, будете поддерживать сверхважное legacy за огромные деньги, в чём проблема?

     
  • 2.137, Аноним (-), 04:15, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не начнут, Эрик уже попробовал rust и он ему не понравился: http://esr.ibiblio.org/?p=7294
     
     
  • 3.149, Andrey Mitrofanov (?), 15:48, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Не начнут, Эрик уже попробовал rust и он ему не понравился: http://esr.ibiblio.org/?p=7294

    [Без обид :) , не хотел скрасть у коллеги линк-голду своим #146 -- тупо не дочитал досюда.]

    Сейчас дочитал (я небыстр+) самого ESR-а до конца. С запросами в последних двух абзацах (хинт), не видать ему нового ЯП. И старые-то уже жмут... Хотя, мож, MLи какие, хаскелы или эрланги бы и подошли. Но мы(примазаться к Классику хочется, да) с Эриком найдём к чему и в них прикопаться -- и Анонимы опенетов не дадут пропасть.

    Вывод: Програм[б]ление надо бросать -- всё пустое.

     

  • 1.132, Аноним (-), 14:20, 12/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > за огромные деньги,

    Или сверхмалые, в каком-нибудь задрипаном ЦНИИ

     
  • 1.150, Аноним (-), 07:33, 14/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Гы. Две статьи от того же реймонда, но от 12-13го января 17го:

    http://esr.ibiblio.org/?p=7294 -- Rust severely disappoints me
    http://esr.ibiblio.org/?p=7303 -- Rust and the limits of swarm design

    Чувак потыкал раст два дня и всё понял про его перспективы. :-)

     
     
  • 2.151, Аноним (-), 07:35, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Для затравки:

    > I wanted to like Rust. I really did. I’ve been investigating it for months, from the outside, as a C replacement with stronger correctness guarantees that we could use for NTPsec.
    > I finally cleared my queue enough that I could spend a week learning Rust. I was evaluating it in contrast with Go, which I learned in order to evaluate as a C replacement a couple of weeks back.
    > In practice, I found Rust painful to the point of unusability. The learning curve was far worse than I expected; it took me those four days of struggling with inadequate documentation to write 67 lines of wrapper code for the server.

     
     
  • 3.152, J.L. (?), 11:48, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    наверно тут оффтоп, но не знаете ли перспектив D в аналогичных проектах ?
     

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



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

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