LINUX.ORG.RU

Выбор ЯП для системного программирования.

 ,


2

4

Добрый день, задумался я тут о том чтоб начать учить один из низкоуровневых ЯП для развития и разработки. До этого писал только на Python, но он на роль языка разработки системных инструментов не подходит. Так как тут народ опытный хотел бы узнать что в данный момент лучше начинать учить? Пока выделил следующие ЯП. C,C++,JAVA,RUST.


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

в 2000-ом можно уже было написать на Java под Windows на Pentium III не заботясь о тормозах.

Ты, когда сочиняешь сказки, держи в голове, что здесь не только школьники.

В 2000-ом типовой конфигурацией был первопень о 32-ух метрах памяти c 98-ой вендой на борту. На такой конфигурации старт любого жава-приложения был испытанием на прочность нервов, а реакция в GUI на любое действие производила впечатление игры по переписке. Почтовой переписке бумажными письмами в конвертах, которые надо бросать в ящик.

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

Ява в версии 1.0 действительно была убога. И в той нише где её первоначально пиарил Sun - ява-апплеты - не взлетела.

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

Отмечу ещё один немаловажный фактор популярности - и С и java в своё время использовались для обучения студентов программированию.

Единственная причина, почему жава взлетела - потому что JVM давала изоляцию приложения от среды исполнения.

Это сейчас, когда докер верхом на lxc бороздит просторы VT-x/VT-d, этим никого не впечатлишь.

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

В 2000-ом типовой конфигурацией был первопень о 32-ух

В 99 в типичной сборке было 64 мегабайта, в 2000 - 128 мб. Java 1.4 запускалась даже на Pentium 160 с 32 мегабайтами, но только не swing. На 64 уже можно было с swing gui играться.

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

В 99 в типичной сборке было 64 мегабайта

Типичная сборка в магазе != типичная офисная машина.

Цикл обновления машин был порядка 5-7 лет.

Java 1.4 запускалась даже на Pentium 160 с 32 мегабайтами, но только не swing.

Запускалась и со Swing'ом с AWT, просто в своп уходила.

LamerOk ★★★★★
()
Последнее исправление: LamerOk (всего исправлений: 1)
Ответ на: комментарий от LamerOk

Запускалась и со Swing'ом, просто в своп уходила.

Да! Деталька важная, минуту-другую запускалась. Работал эникеем изучал жаву на p160 с 32 метрами :)

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

Ты, когда сочиняешь сказки, держи в голове, что здесь не только школьники.

А, все время забываю про людей с проблемами в логике.

В 2000-ом типовой конфигурацией был первопень о 32-ух метрах памяти c 98-ой вендой на борту.

То, что для вас типовой конфигурацией был Pentium и 32Mb в 2000-ом году вовсе не противоречит тому, то в том же 2000-ом производительности Pentium-III уже хватало для того, чтобы тормоза Java не были сильно заметны.

И это уже не говоря про то, что для разработчиков типовая конфигурация с Pentium+32Mb — это где-то район 1996-1997-го годов. А 2000-й — это уже как раз время Pentium-III и AMD-K6.

Но в вашей среде, вполне возможно, типовыми были Pentium+32Mb, вполне могу в это поверить.

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

А, все время забываю про людей с проблемами в логике.

Не скромничай, тебе достаточно часто про тебя напоминают.

То, что для вас типовой конфигурацией был Pentium и 32Mb в 2000-ом году вовсе не противоречит тому, то в том же 2000-ом производительности Pentium-III уже хватало для того, чтобы тормоза Java не были сильно заметны.

1) Не хватало - тормоза жавы были по-прежнему заметны, особенно на старте приложения.

2) Первый факт противоречит тому, чтобы выпускать в широкий тираж на wintel-платформу приложения на жаве в 2000 году.

И это уже не говоря про то, что для разработчиков

А зачем об этом говорить? Такое ощущение, что разговариваю с человеком, всю жизнь проработавшим школьным учителем.

Я открою тебе страшную тайну - программы не пишут для разработчиков. Программы пишут для пользователей, и работать эти программы должны в тех условиях, в которых их будут эксплуатировать пользователи. Если ты хочешь покрыть хотя бы 20% рынка ПО на PC в 2000 году, жава вылетает из конкурса еще на подлете - это пока что игрушка для студентов и «ынтырпрайзная» замена Visual Basic.

Но в вашей среде

Моя среда - это планета Земля. Ты инопланетянин, штоле?

LamerOk ★★★★★
()
Последнее исправление: LamerOk (всего исправлений: 1)
Ответ на: комментарий от LamerOk

О, эка ж вас торкнуло.

1) Не хватало - тормоза жавы были по-прежнему заметны, особенно на старте приложения.
2) Первый факт противоречит тому, чтобы выпускать в широкий тираж на wintel-платформу приложения на жаве в 2000 году.

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

Широкий тираж для wintel-а на Java в 2000-ом году... Мощно, внушаить.

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

О, эка ж вас торкнуло.
Мощно, внушаить.

Из нас двоих торкнуло явно не меня. И дальше, по-ходу, тебе будет только хуже.

В общем, хочешь доказать свои слова:

в 2000-ом можно уже было написать на Java под Windows на Pentium III не заботясь о тормозах.

возьми и приведи хоть одно популярное в 2000-году GUI-приложение на Java.

Но что-то мне подсказывает, что ты сольёшься.

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

Из нас двоих торкнуло явно не меня. И дальше, по-ходу, тебе будет только хуже.

Я не понял, у вас реально проблемы с логикой или вы тупо бухаете и пишете на LOR-в в изрядном подпитии?

В общем, хочешь доказать свои слова:
возьми и приведи хоть одно популярное в 2000-году GUI-приложение на Java.

Извините, но если вы из слов «в 2000-ом можно уже было написать на Java под Windows на Pentium III не заботясь о тормозах» делаете вывод о наличии популярных GUI-приложений под Windows на Java в 2000-ом году, то это ваши собственные тараканы и глюки. Сами с ними разбирайтесь.

Что мне доводилось видеть в эти годы, так это разработчиков, которые сидели под Windows, и клепали на Java (кто в JBuilder, кто Visual Cafe) всякую корпоративную херню. Тут же, на своих машинах поднимали какой-нибудь resin, tomcat или weblogic, тестировались локально и никого не парило, где и как затем будут jar-ы развертываться. Ну и некоторые в 2000-ом под тем же Windows на Java клепали всякую корпоративную GUI-ню с кучей формочек. Тормозами там все равно были пользователи, так что отзывчивости GUI на Java хватало уже вполне.

Если бы все тормозило так, как вы об этом рассказываете, никто бы такими вещами не занимался в 2000-ом. Но ведь занимались. И типовыми конфигурациями там были вовсе не Pentium+32Mb, как вы тут пытаетесь рассказывать.

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

тормоза жавы были по-прежнему заметны, особенно на старте приложения.

Да ну, в мире, где CGI на перле с форком на каждый запрос было нормой, какие еще тормоза жабы ты разглядел. Оно и пораньше 2000 уже было юзабельно, даже для гуйни. Тормоза там не в jvm же, а в том как индусы пишут под нее кривыми лапками, обмазываясь сотней слоев фреймворка. В те годы еще все было не так запущено.

bread
()
Ответ на: ТСу от sqq

+

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

Попробуй ещё QString для полноты коллекции.

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

Да ну, в мире, где CGI на перле с форком на каждый запрос было нормой, какие еще тормоза жабы ты разглядел.

CGI перла с форком отдавал ответ быстрее жавы. Жава рулила за счёт персистентности доступа к БД.

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

Я не понял

Это очевидно.

если вы из слов «в 2000-ом можно уже было написать на Java под Windows на Pentium III не заботясь о тормозах» делаете вывод о наличии популярных GUI-приложений под Windows на Java в 2000-ом году, то это ваши собственные тараканы и глюки.

Я делаю это из слов:

И если ранее разработчики были вынуждены использовать C или C++ для того, чтобы на дохлом железе программа хоть сколько-нибудь нормально отзывалась, то в 90-е сложилась ситуация, когда мощность компьютера росла чуть ли не ежедневно. Поэтому то, что в 1990-ом приходилось тчательно оптимизировать для работы на 8086-ом, то в 2000-ом можно уже было написать на Java под Windows на Pentium III не заботясь о тормозах.

Это элементарная логика. Импликация. Если популярный язык позволял давать такой результат, то он бы был. Результата нет.

Осилишь сам сделать вывод или нужен репетитор по логике?

Тут же, на своих машинах поднимали какой-нибудь resin, tomcat или weblogic,

Еще раз - кому ты сказки рассказываешь? weblogic 5.1 требовал 64 Мб минимум для старта. Гонять его на одной машине с любой java-IDE было не реально. Не говоря уже о том, что никто не брал weblogic ради веба без оракла, который тоже съедал машину.

С томкатом - другое дело, его действительно гоняли на локалхосте.

Ну и некоторые в 2000-ом под тем же Windows на Java клепали всякую корпоративную GUI-ню с кучей формочек.

Клепать-то они, может, и клепали, но в этой сфере рулил и педалил VB 6 в связке с MS SQL Server 2000, затмевая Fox Pro и прочий dBase. Так что я сильно сомневаюсь, что их поделки шли дальше локалхоста.

Опять же, если есть факты в опровержение - я с удовольствием с ними ознакомлюсь.

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

VB 6 в связке с MS SQL Server 2000,

Ну и Delphi, конечно же.

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

Блин, да вы фееричны. Начиная с того, что после слов:

И если ранее разработчики были вынуждены использовать C или C++ для того, чтобы на дохлом железе программа хоть сколько-нибудь нормально отзывалась, то в 90-е сложилась ситуация, когда мощность компьютера росла чуть ли не ежедневно. Поэтому то, что в 1990-ом приходилось тчательно оптимизировать для работы на 8086-ом, то в 2000-ом можно уже было написать на Java под Windows на Pentium III не заботясь о тормозах.

Вы сперва заговорили про Pentium+32Mb, а когда обосрались, то стали требовать примеров популярного ПО на Java для Windows. А когда обосрались еще раз, то заговорили про импликацию и отсутствие результата.

Еще раз - кому ты сказки рассказываешь?

Вы еще ни разу не доказали, что это сказки. В 2000-ом на Pentium III написанный на Java JBuilder вполне себе работал под Windows. А вот в 1990-ом на 8086 ничего подобного в принципе не было. Но для вас наличие JBuilder — это сказки.

weblogic 5.1 требовал 64 Мб минимум для старта.

Ну и?

Гонять его на одной машине с любой java-IDE было не реально.

Даже если там 128Mb или 256Mb? Перестаньте смешить мои тапочки. Если вам родители в 2000-ом подарили б/у-шный Pentium+32Mb, то это не значит, что все были подобными нищебродами.

но в этой сфере рулил и педалил VB 6 в связке с MS SQL Server 2000

Это если нужно было делать прибитый гвоздями к Windows софт. Только вот представляете, не все такой делали. Кто-то сидя под Windows делал кроссплатформенный GUI на Java. Сюрприз, правда?

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

в 2000-ом можно уже было написать на Java под Windows на Pentium III не заботясь о тормозах.

Даже если там 128Mb или 256Mb?
В 2000-ом на Pentium III написанный на Java JBuilder вполне себе работал под Windows.

Я тебе уже один раз объяснил, что ПО для рынка пишут из расчёта на 70-80% машин минимум. Это, видимо, слишком сложная мысль для тебя, так что я изложу её же попроще: в 2000 году разработчик было должен думать, как его программа будет работать на машине, купленной в 1995-ом.

Вы сперва заговорили про Pentium+32Mb, а когда обосрались
обосрались еще раз
для вас наличие JBuilder — это сказки.
Если вам родители в 2000-ом подарили б/у-шный Pentium

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

Кто-то сидя под Windows делал кроссплатформенный GUI на Java.

Да-да, под OS/2 и Netware.

(Этому Сириусу больше не наливать, он окончательно отъехал в манямирок.)

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

Я тебе уже один раз объяснил, что ПО для рынка пишут из расчёта на 70-80% машин минимум.

Следуя вашей логике, товарищи из Oracle не начали бы писать инсталляторы для своей БД на Java вскоре после выхода оной на рынок. Ибо им бы пришлось ориентироваться на машины годов эдак 1992-1993-го выпуска. Тем не менее, они начали и в 1998-1999 поставляли свои СУБД с GUI-инструментами на Java. Что уж говорить про разработчиков из Borland-а, которые выпустив свой JBuilder в 1997-ом, должны были ориентироваться на машины 1991-1992 годов?

в 2000 году разработчик было должен думать, как его программа будет работать на машине, купленной в 1995-ом.

Специально для вас: если цикл разработки до вывода продукта на рынок составляет больше года (а по тем временам год — это было даже мало), то начиная разработку в 2000-ом, не было никакого смысла ориентироваться на более слабую технику.

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

Так вы в 2000-х еще в садик ходили? Тогда понятно.

eao197 ★★★★★
()

Системные инструменты и вообще системы можно писать на любом языке, было бы желание. По уровню низкоуровневости всех конечно делает ассемблер, но о нём почему то никто не задумывается, потом обычно ставят си, следующим часто упоминают си++, а называть яву низкоуровневым языком конечно можно, но как то язык не поворачивается. Ещё тут гдето си-шарп затерялся, но на данном ресурсе он не в почёте. И с высока на всех смотрит дажваскрипт, но там полный трэш. Потом идут разные маргинальные и хипстерские языки, интересные обычно единицам. А учить лучше начать английский, архитектуры компьютеров, сетей и программирования, а так же паттерны и антипатерны проектирования. И оттачивать всё это можно на любом языке хоть на том же питоне, хоть на перле. А вообще неплохо было бы познакомится с разными парадигмами программирования, такими как процедурная, обьектноориентированный и функциональная, подбирая для каждой из них соответствующий язык.

на тех же правах имхо.

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

Следуя вашей логике, товарищи из Oracle не начали бы писать инсталляторы для своей БД на Java вскоре после выхода оной на рынок.

Нет, не следуя. Инсталлятор отрабатывает на той же машине, где потом будет работать сам сервер БД - то есть на машине с заведомо высокими системными ресурсами.

Ну, и установщик на Java впендюрили явно «заодно» к собственно поддержке Java в самой базе данных.

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

Специально для тебя в третий уже по счёту раз: ориентироваться надо на минимальные требования для 70-80% рынка на момент релиза.

Так вы в 2000-х еще в садик ходили?

Ну да, я был в старшей группе, а ты - в младшей.

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

Специально для тебя в третий уже по счёту раз: ориентироваться надо на минимальные требования для 70-80% рынка на момент релиза.

Во-первых. Специально для вас: расскажите это разработчикам из Oracle.

Во-вторых. Исходный тезис: «И если ранее разработчики были вынуждены использовать C или C++ для того, чтобы на дохлом железе программа хоть сколько-нибудь нормально отзывалась, то в 90-е сложилась ситуация, когда мощность компьютера росла чуть ли не ежедневно. Поэтому то, что в 1990-ом приходилось тчательно оптимизировать для работы на 8086-ом, то в 2000-ом можно уже было написать на Java под Windows на Pentium III не заботясь о тормозах.» Даже если в вашей реальности 70-80% компьютеров, на которые ориентировались производители софта в 2000-ом — это Pentium+32Mb, то каким образом эти Pentium+32Mb противоречат высказанному тезису? Вы это в состоянии связно объяснить?

Вот, например, в 2000-ом на Pentium III c 256Mb на борту разработчик мог запустить на машине под Windows JBuilder, resin и браузер. Что в принципе невозможно себе представить на 8086, 80286 и даже 80386-х компьютерах образца 1990-ого года.

Вы, блин, против чего спорите? Против того, что этого в принципе не было? Или против того, что этого не было в вашем распоряжении?

eao197 ★★★★★
()
Последнее исправление: eao197 (всего исправлений: 1)
Ответ на: комментарий от LamerOk

... ориентироваться надо на минимальные требования для 70-80% рынка на момент релиза.

Это правильно. Но в 2001 в Питере на замечание: «но ведь жаба ужасно тормозит», получил ответ: «наши клиенты купят такое железо, какое мы укажем, а остальные нам не интересны».

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

Вы, блин, против чего спорите?

Против твоих сказок, что в 2К уже можно было покласть с прибором на CPU/RAM.

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

наши клиенты купят такое железо, какое мы укажем

От продукта же зависит. Если у него монополия в своей сфере - то таки да, купят.

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

Против твоих сказок, что в 2К уже можно было покласть с прибором на CPU/RAM.

Вы, блин, в каком мире живете? В 2000-ом это уже делали. Без зазрений совести.

Повторю еще раз, специально для вас: «Вот, например, в 2000-ом на Pentium III c 256Mb на борту разработчик мог запустить на машине под Windows JBuilder, resin и браузер.» Люди это делали, я сам это видел. И им было покласть на CPU/RAM с большой колокольни.

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

Ну и да, если вы еще раз попытаетесь блеснуть логикой: я нигде не утверждал, что разработка с использованием Pentium III и 256Mb RAM в 2000-ом была распространенным явлением. Но сам факт того, что она уже была имел место быть.

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

о чем спор?

тема же про выбор системного яп, причем сейчас, в 2017 году.

sqq
()

ЯП для системного программирования: HLA

HLA: книга и документация, HLA + книга Art Of Assembly, HLA v3 с быстрым парсером на mmap файлах

книга, ещё

высокоуровневый ассемблер с богатой стандартной библиотекой (тут, ООП и STL, CTFE макросы

или даже бейсик возьми. только правильный : HLAbasic + inline asm, MasmBasic, Idlewild-lang — бейсик на хаскелле + fasm

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

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

в 2000 году разработчик было должен думать, как его программа будет работать на машине, купленной в 1995-ом.

в 2000-ом на Pentium III c 256Mb на борту разработчик мог запустить

Извини, братишка, я не дотягиваю до твоего интеллектуального уровня. Сорян, бывай.

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