Pull to refresh
33
0
Nick Linker @nlinker

Пользователь

Send message

Восхищают люди, которые с такой лёгкостью вгрызаются в незнакомый проект (по меньшей мере выглядит, как будто вы уже поразбирались с полгода и неплохо ориентируетесь в нём).
А может вы расскажете, как разворачивать development окружение для потенциальных контрибьюторов Rust, раз вы уже так далеко зашли? :-)

Ошибок, которые легко допустить в C, гораздо больше четырёх :-)

Классно написано


Кстати, непонятно всё же, почему мечники совсем бесполезны. Вот например в SCBW чисто гидралиски довольно слабы против зилотов, и зерглинги тоже быстро кончаются, но их сочетание оказывается весьма эффективно, потому что пока зерглинги дохнут, гидралиски наносят серьёзный урон.
Здесь тоже можно было бы добавить мечников, чтобы они собирали вражеский огонь на себя, а лучники бы нанесли основной урон. Так не получится?

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

Да, именно так. Сколько было нападок на Rust за его синтаксис (типа fn foo<'a, T>(a: &'a [T], b: T) -> T + 'a), но как выяснилось даже такой крутой инженер как Бьярн не смог придумать лучше. Соотвественно, невозможен точный анализ, только эвристические анализаторы для анализа времён жизни объектов.

Один из ответов может выглядеть так: университет — это место, где дают фундаментальные знания, и возможно D как раз подходит под какую-то из задач в каком-нибудь курсе.
Например, ООП, шаблонное метапрограммирование, какое-то понятие о суперкомпиляции можно давать на примере D.
Плюс есть определённая доводы к тому, что студенты не нагуглят решения, а попытаются сделать домашки самостоятельно.

То, что рассказывается на докладиках в удобных оснащённых техникой аудиториях — это НЕ образование.


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

Тут вон Дядюшка Боб вывалил в своём очередном visionary talk, что "ФП это дисциплина по отношению к присваиванию". Ну вот и результат того, что человек не изучил достаточно и не знает Haskell — мифическое представление о большой области программирования.

Организаторы плебисцита не рассчитали размер файлов и забыли, что при многодневном голосовании следует обозначать не только время, но и дату. С вечера первого дня голосования по поправкам к конституции департамент информационных технологий Москвы больше 12 часов публиковал пустые выписки из блокчейн-системы для наблюдения за ходом электронного голосования, обнаружили «Открытые медиа». Как удалось выяснить изданию, неполадка произошла из-за проблем, связанных с размером файла

Фак мой мозг, как можно вообще наступить на такие грабли? Да блин самый малоопытный джун просто возьмёт UNIX time тем самым избежит проблем с разными датами и как правильно Бобук сказал, порядок количества заявок был известен заранее. Короче, госуха как она есть.

Здорово. Интересно, как с инвазивным нейроинтерфейсом принимать душ, например? :-)

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

"Тебе не придётся читать документацию по Rust, если ты будешь знать Rust" :-)


(картинка_с_умным_негром.jpg)

Как нужно структурировать свои программы, чтобы все или большинство структур данных были изменяемы и менять их нужно было из разных, не связанных между собой скоупов?
Это что за лапша?

Дело было именно в Hotspot, и в удобстве разработки для серверов. Я в соседнем сообщении писал, что тот факт, что разрабатывать можно было на относительно слабых машинках (как правило Win 95 и позже 2k), а запускать на самых настоящих серверах, при этом не тормозя эти самые сервера -- вот это и обеспечило стремительное вытеснение C++.
Даже сейчас писать кроссплатформенный C++ трудновато, а тогда у тебя максимум была ACE, wxWidgets и крутись как хочешь, никаких бустов. Ошибки, связанные с различием между разработческим и прод окружениями были нормой, и они зачастую были весьма нетривиальны.

А я не зря упомянул Hotspot, до него к Java относились с большим пренебрежением, видя насколько сильно падала производительность. А с ним у многих сразу многие увидели, что на этом можно делать проекты.
Да, и GC, и JIT компиляция, и VM были известны до этого, но предоставить всё это в одной удобной упаковке, с хорошей стандартной библиотекой, при этом разрабатывать можно было на относительно слабых машинках (как правило тогда сидели под виндой), а запускать на самых настоящих серверах — вот это всё впервые дала Java.

Говоря по правде, Java в своё время была действительно прорывом. Особенно, когда вышел Hotspot, тогда и произошла смена парадигм, C++ начал стремительно вытесняться из бизнес-сектора.

Почему вместо PHP не взять тот же Питон?
Ну ладно, Питон иногда тормозной, ну JavaScript?
Ну ладно, JavaScript иногда странный, ну TypeScript?
Ну ладно, TypeScript иногда замороченный, ну Kotlin?
Ну ладно, Kotlin иногда тяжеловесный, ну Go?
Ну ладно, Go иногда невыразительный, ну Rust?
Ну ладно, Rust иногда без нужных либ, ну Java?
Ну ладно, Java иногда навевает тоску, ну Scala?
Ну ладно, Scala иногда слишком сложная, ну Haskell?

"Направление? Какое направление?"


Гибридный подход в научной среде называется gradual typing, Matthias Felleisen занимается исследованиями в этой области кучу лет (10+) и он пришёл к выводу, что это дохлое направление.
https://www.youtube.com/watch?v=5DlEj6daNEo
https://www.ccs.neu.edu/home/asumu/slides/popl-2016-01-21.pdf
https://www2.ccs.neu.edu/racket/pubs/popl16-tfgnvf.pdf

Information

Rating
Does not participate
Registered
Activity