Андрей Столяров опубликовал в свободном доступе второе издание книги "Программирование: введение в профессию". Книга также доступна в бумажном варианте, напечатанном издательством МАКС Пресс. Издание включает три тома:...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=54684
читай книги, анон, просвещайся 😉
> язык Pascal, язык ассемблера, язык СиСкорее, анон, вешайся.
Кто знает паскаль - тот умеет набирать программы
Кто знает С - тот знает программирование и систему
Кто знает ассемблер - тот знает что унутре у неё нет никакой магии и все достаточно понятно
%%Кто знает раст - тот знает 400 сравнительно честных способов холивара на опеннете%%
раст форева!
- способ номер 1
Первые три условия выполнены.
Четвёртое - нет.
Но потроллить растишек всё равно можно.
Кто знает паскаль - тот познал азы культуры и подходов "обычного" программирования.
Кто знает си - тот на ты с системой, а иногда и с железом.
Кто знает ассемблер - может дико круто и предсказуемо вышеупомянутое соптимизировать.
Кто знает раст - умеет набивать себе цену, наступая на пятки вебмакакам.
> Кто знает раст - умеет набивать себе цену, наступая на пятки вебмакакам.Серьезно ? За это кто-то даже платит ?
Э... не знаю. Мозилла платила, но потом уволила этих лузеров к хренам, они за 10 лет свою ржавую консерву так и не допилили. Но, говорят, что амазон кого-то из них даже нанял. Так что кому-то наверное даже платят. Однако из результатов в основном пока голимый хайп.
> Э... не знаю. Мозилла платила, но потом уволила этих лузеров к хренам,
> они за 10 лет свою ржавую консерву так и не допилили.А вот и прохладные былины от опеннетных болтунов ...
https://www.opennet.dev/opennews/art.shtml?num=53533> Компания Mozilla сообщила о существенном сокращении персонала и закрытии представительства в Тайбэй (Тайвань). Из компании будут уволены примерно 250 сотрудников, а около 60 работников будут переведены в другие команды. С учётом того, что в компании работает приблизительно 900 человек, увольнения коснутся около 30% персонала.
> Под увольнения попала вся команда реагирования на угрозы (Threat management team), занимавшаяся выявлением и разбором инцидентов, а также часть команды Security team. Увольнения затронули команду Mozilla Research, занимавшуюся разработкой движка Servo, написанного на языке Rust. Уволены все сотрудники из команды MDN (Mozilla Developer Network).
>
Обфусцирования здесь нет. Автор „забыл“ указать в LaTeX-документе «\usepackage{cmap}» – пакет, отвечающий за корректное копирование кириллицы в скомпилированном из исходника pdf-документе.
Ссылки на файлы с текстовым слоем:Том 1. Азы программирования (2-е изд., 2021, А. В. Столяров) — djvu, pdf
Том 2. Сети (2-е изд., 2021, А. В. Столяров) — djvu, pdf
Том 3. Парадигмы (2-е изд., 2021, А. В. Столяров) — djvu, pdfНедостаток пособий: из текста сквозит личными симпатиями и антипатиями, мессианством, хронической уязвлённостью, скрытыми обидами, неудачным жизненным опытом, заурядным морализаторством, что свидетельствует о недостаточной зрелости автора как личности и совершенно неприемлемо для технической литературы.
Достоинство пособий: некоторая способность автора разумно балансировать между академичностью и сленгом; хорошее знание материала; ориентация на мир свободного ПО; точная расстановка акцентов, корректное отделение важного от второстепенного.
Том 1
https://tinyurl.com/2vjudd9h
https://tinyurl.com/38t4mssw
Том 2
https://tinyurl.com/uhsxtnzk
https://tinyurl.com/yc4hszn4
Том 3
https://tinyurl.com/ykh6apf8
https://tinyurl.com/c37hzd6
А я знаю Питон и зарабатываю 360к/мес, пока зaдpoты крacноглaзят в ASSсемблер))Пока я наслаждаюсь жизнью и преимуществами лучшего высокоуровневого Я.П. в мире, беднота совокупляется с регистрами с адресацией. Пока я создаю прекрасные творения, которые ежедневно лицезреют миллионы людей, низкоуровневая беднота сидит в своих подвалах и считает себя элитой, потому что она знает "как работает комп изнутри". Но ваших потуг никто не увидит, вот в чем проблема. А человек, который понимает, что плоды его работ ни для кого не заметны - это грустный человек.
да ты красаучик, Петруха, в придачу ещё знаешь как скрипт для «плюсиков» здесь запустить, так что красаучик х2
> А я знаю Питон и зарабатываю 360к/мес, пока зaдpoты крacноглaзят в ASSсемблер))
> Пока я наслаждаюсь жизнью и преимуществами лучшего высокоуровневого Я.П. в мире, беднота
> совокупляется с регистрами с адресацией. Пока я создаю прекрасные творения, которые ежедневно
> лицезреют миллионы людей, низкоуровневая беднота сидит в своих подвалах и считает себя элитой,
> потому что она знает "как работает комп изнутри".И тут ты проснулся на лекции...
Ха, еще один завидник... Чувак, мне до таких зарплат тоже далековато, но брызгать желчью и кидать едкие каменты это низко, очень низко... Открой hh, посмотри планку зарплат, посмотри количество вакансий пайтон и асемблер, потом возвращайся, побазарим за жизнь...
Но ведь это действительно комментарий студента или даже вообще школьника.Начиная с того, что за ассемблер (точнее, за интринсики) платят больше, чем за питончик - просто потому, что специалистов сильно меньше, чем надо. Отвечаю, так как именно такой специалист и я таки получаю больше, чем озвучил тс. Существенно больше.
И заканчивая тем, что настоящий специалист прекрасно это бы знал.
А я даже озвучивать не буду пиковые "баксы в час" чтобы питоняша не расстраивался. С чего он взял что 4.5k$/mo - дофига?
Да.Так и есть.Детский стиль коммента.
На вот именно чистом ассемблере программить нынче, видите ли, не очень прагматично в общем случае. И желающих это делать в общем то и не осталось почти.А так логика по типу "посмотрите сколько требуется дворников, и сколько - ученых".
Какойнить майор или прокурор тоже знает васик или паскаль со школы и зарабатывает куда поболее. Так чё не впечатлил.
> низкоуровневая беднота сидит в своих подвалах и считает себя элитой,У них довольно интересные подвалы бывают, однако. В этих подвалах создают поезда и самолеты, автомобили и промоборудование. И если без твоей лабуды на питоне человечество в общем то обойдется, то без вон того - мир встанет на паузу.
А то что вот конкретно в РФ с этим всем дно - скажите спасибо своим оркам. А какой-нибудь Cyan из фэйсбука получает ну явно не нубские 4.5k$.
5.3к$/ m, Си. Шах и мат питонисты
> 5.3к$/ m, Си. Шах и мат питонистыEmbedding?
Фиолетовый, иногда холодный.
10k$/ m mips assembler . шах и мат сишники
А чего ты такого на одном только мипсовом ассемблере без сей делаешь за столько? :) И, главное, что за псих столько платит за эту порнографию?
>создание графических интерфейсов на FLTK и Tcl/TkАктуально, особенно в 2021-м.
всяко лучше чем Qt
Лично я примерно 18 лет назад изучал построение гуя на этих тулкитах и уже тогда они были говно. С тех пор они не изменились ни на йоту.
Это книги о другом. Вы перепутали цель издания.
А делать книги "о другом" с использованием современных средств РКН не позволяет?
Тоже можно. Тоже хорошо. Не всё новое стоит упоминания. Из нового много идёт на выброс.
Можно аккуратно и красиво работать на любом фреймворке и любом языке.
И на них до сих пор пишут серьёзные дядки из Synopsys и Cadence. Между прочем это основные САПР для микроэлектроники.
>>дядкиПостесняюсь полюбопытствовать, так (дедки|дядьки) ? :)
Дядьки, конечно! Не заметил ошибку сразу.
Cadence вроде как Qt используют в качестве тулкита, а Tcl только как скриптовый язык для работы с цифровым синтезатором. Именно GUI на Tk пишут Mentor Graphics. Про Synopsys не знаю.
>всяко лучше чем Qtособенно для анона опенета, который не пользовал ни Tcl/Tk, ни Qt (и хорошо, если вообще знает хоть что это такое, не только аббревиатуры)
Ты позоришь честное имя анона...
Не осилил?)
Как обучающие - таки да, актуальны, ибо простые.
Очень актуально.
Ибо все остальное это настолько вещь-в-себе, что от оригинального языка остаются лишь базовые конструкции, а все остальное - тупой список вызовов "магических" методов.
Скорее антикниги
А что не так с этой книгой?
Она глупая и водянистая.Хотя, может второе издание лучше стало.. надо глягуть.
Ну не знаю, вроде норм.
Pascal, scheme, prolog...это уже было !@$%% мамонта ещё когда я в школе учился. В 2021м про них можно однозначно забыть даже для обучения. Советовать книги с таким описанием можно врагу чтобы злорадствовать над тем как медленно и мучительно он постигает знания годные только для работы археолога.
Не путайте "знания модных фреймворков", которые устаревают раз в полгода с принципами, которые меняются десятилетиями.
+1 против безмозглой моды.
Я так погляжу, все что узнали анонимы из своих шизокниг, это что раст плохой, а cися лучшая в мире. Ни одного полезного комментария на этом ресурсе за последнее десятилетие не было.
Как тут правильно кто-то написал, "нашел, где правшивать".
Ну LISP это классика. Я вот могу без экивоков признаться, что так его и не осилил. ;-)
Хруст не хороший и не плохой.
Он просто мимо.
> с принципами, которые меняются десятилетиямиИмеется в виду Pascal?
Так сколько кода написано? А сопровождать это надо ещё сколько десятилетий! Фортран вон ещё как актуален
Для счета fortran пока был, есть и, скорее всего, будет самый быстрый.
В C, чтобы достать его по скорости, ввели квалификатор restricted, однако хрен вам ...
А твоя книга лучше? Где продается?
ЧТо такое, деточка? Не умеешь читать? Ну не плачь, в 1м классе научат. ;)
Почему книга в электронном виде в формате пдф а не в фб2 или эпаб?
Может ещё, почему вам её домой лично на флешке не подвезли, предварительно уточнив в каком формате?
кстати да ,пачему ?
Надо - конвертни.
А это хитрая тема автора. Из нее нельзя ничего скопировать и нельзя конвернуть)
Для предыдущего издания за несколько минут написали скрипт-конвертер. Проблема в том, что преобразование небиективно, и нужны были 2 конвертера: для кириллицы и для латиницы и цифр. А потом из этого вручную собирать читаемый текст. Проще запустить автоматический OCR.
Почему тогда у меня все копируется?
> Почему книга в электронном виде в формате пдф а не в фб2
> или эпаб?"Вниманию пользователей яндекс-почты! Перед отправкой мне писем из их веб-интерфейса отключайте использование формата HTML! Мой почтовый клиент не поддерживает и (принципиально!) никогда не будет поддерживать HTML в письмах, а продираться сквозь html-тэги крайне неудобно. Соответствующая кнопка там называется как-то вроде «отключить оформление». Если вы не уверены в своих силах, задайте вопрос техподдержке Яндекса."
Он до костного мозга ретроград и олдскульщик. Скорей всего до сих пор пользуется FIDO и на страничке баннер "STOP SYSTEMD" и ссылки а-ля "Systemd - вестник Апокалипсиса". Принципиальный дядька :-)
После оговорки "Если вы не уверены в своих силах, задайте вопрос техподдержке Яндекса" не рискну высказывать публично претензии автору по содержанию книг или их защите от копирования. :-)
На таких все и держится.Соль земли.А не накипи,что по верхам плавает.
Что за "фб2"? 40 лет читаю книги, про такое не слышал.
В электронном виде попробуйте почитать
fb2 хорош только для художественных, или для книг, содержащих исключительно текст, без схем, таблиц и листингов. Современные книги обычно в djvu помещают
Потому что PDF - это международный стандарт. ISO 19005-1:2005.
Хочу научиться программировать. Даже не так... стать архитектором программного обеспечения. Но проблема в том, что не знаю с чего начать. Эти книги подойдут?
1. нет
2. нашел, где спрашивать
Подойдут. Для основ - очень даже.
"Совершенный код"
Попробуйте для начала. Попса, но годная.
Сначала Совершенный алгоритм, потом уже код.
Роб Пайк, практика программирования.
Я прочитал карниганвюа ричи язык си, затем си++ стоауструпа, затем таненбаума 3 книги (ос, сети, железо).
Похвально!
Теперь обязательно одевай шапку зимой и панамку летом.
> карниганвюа ричиПри этом букварь, надо понимать, ты скурил.
>> карниганвюа ричи
> При этом букварь, надо понимать, ты скурил.Оиключил автокомплит на андроиде :)
Для начала - никого не слушать, и делать то что велит сердце!!!
унижать и утверждаться он сможет на опеннете если чо. пусть зрение подсадит для начала
Начните с определения цели и "Языка программирования С" Кернигана и Ритчи.
А зачем? Строго говоря Вы хотите стать бесполезным академиком, который кода не пишет. Реальное программирование начинается от железа, потому, что любое программирование ставит целью заставить машину исполнять желания людей. И все красивости кода, реализации этой цели вредят. Поэтому написание ужасного кода и его дописывание костылями, это самая производительная тактика разработки ПО, чтобы там не высчитывали академики.
Программирование для людей, не знающих английский хм...
Это ты щас оскорбил 1С прогеров получающих по 200к не выходя из дома, молодец
> Прогеры
> 1CПросто /0
И снова без глав/содержания в pdf, зато с ценным мнением автора про спо и ущербность c++?
А, точно, это же тот автор. Ну, раз покупают, значит, есть вонабе погромисты в достаточных количествах и на такое. Наверное.
Ну люди же ставят себе всякое уг под названием офтопик. А еще много народу на джаваскрипте пишут.Так что "любит наш народ всякое ...", да.
Да.
А что плохого в С++?
Скрытое состояние в «объектах», вот да.
PDF есть, хорошо. А где исходники того в чём эту книгу писали? (TeX, или что там сейчас модно) И лицензия, которая напечатана в книге, проприетарная. Тогда спрашивается что это делает здесь, на сайте посвящённому опенсорсу?
Очевидно же графомания проплачена, всегда ищи кому выгодно
О да, автор уже наверняка в списке Форбс 500 и все из-за одной новости на opennet.
Сроки подготовки второго издания - мое почтение. Спасибо автору.
Ну если учить СИ то Язык программирования C (Брайан Керниган, Деннис Ритчи) The C Programming Language (284 страницы), а если C++ то Язык программирования C++. Краткий курс [Бьярне Страуструп] A Tour of C++ (322 страницы), хотя бы можно понять что за язык и зачем оно нужно, а не эту графоманию на 2000 страниц, лучше уж Кнута за то же время прочитать.
Ты уже C/CXX знаешь? Сколько времени сидишь на зопе? Сколько зарабатываешь на этом в месяц? Вот с этих вопросов нужно начинать любые советы, имхо :)
Лол шта, даже Бьярне незнает всего С++, о чем он честно писал в последних книгах по скольку стандарт сильно большой стал
Последние стандарты как раз очень ок стали, пора объединять назад в один язык C/C++
>Сколько зарабатываешь на этом в месяц?Знать и зарабатывать разные вещи. Тут как говориться, старая еврейская поговорка не катит.
Ну, моё почтение Кнута за то же время. Б. Страуструп — удовольствие сомнительное, А. Столяров пишет куда задорнее.
> Кнут ... Страуструп ... Столяров:)
>> Кнут ... Страуструп ... СтоляровМаркс, Энгельс, Столлман, и другие списки случайных имён.
> Ну если учить СИ то Язык программирования C (Брайан Керниган, Деннис Ритчи)прекрасная книжка, но - потом открываешь код линуксного ведра, и не понимаешь ровно ничего.
Причина, надеюсь, очевидна.
Нет, я хз что читать про современный C.> C++ то Язык программирования C++. Краткий курс
вообще нечитаемо (как и весь страуструп). Чем заменить тоже не скажу, не знаю.
Modern C++ Design? Там предполагается что not-so-modern ты уже откуда-то узнал, студенту не поможет.> лучше уж Кнута за то же время прочитать
если ты можешь прочитать а не пролистать Кнута за то же время - то, конечно, успехов. Но, боюсь, не получится. Впрочем, во многом полезнее его именно пролистать, а время потратить на что-то другое.
В любом случае - алгоритмы это прекрасно, но надо ж уметь и код как-то написать...
Есть одно но, прочитав одного автора, ты получишь одно мнение на язык и его стиль, поэтому читать нужно минимум десятки книг, а то и сотни, но у многих мозжечок не выдерживает.
>прекрасная книжкаТак же как и книжки Н. Вирта.
> Нет, я хз что читать про современный C
Читать стандарт и расширения компиляторов.
> Впрочем, во многом полезнее его именно пролистать, а время потратить на что-то другое.
Если ты не готов заниматься тем, чем занимается Кнут, то читать не стоит.
> В любом случае - алгоритмы это прекрасно, но надо ж уметь и код как-то написать...
А чем "код" отличается от алгоритма? Уметь писать "код" - это что такое вообще?
> Так же как и книжки Н. Вирта.а, шо?! ТОЖЕ каждый день новые?!
ффуу, нет, померещилось, алгоритмы и методы не меняются с годами.Расскажи вот мне, базируясь на информации, полученной исключительно из керниганов с ритчами - почему не компилируется, блжад, такой код:
extern __inline__ int fn() { some shit }
(нет, это не мой код, это другие норкоманы. Он, собственно, компилируется - только не линкуется потом. Угадаешь, почему? и, кстати, ЧТО блжад вообще тут написано, если подумать? [прости, тебе нечем, но это для других читателей])это я даже не про static_assert двух несовместимых синтаксисов, и, б-же упаси, не про интринсики. Хотя при попытке поправить банальную очепятку в линуксном ведре - ты непременно напорешься и на то, и на другое. И вот что делать прочитавшему Кернигана?
> Если ты не готов заниматься тем, чем занимается Кнут
э... нет. я не готов стать теоретиком от программирования, и должность профессора мне тоже никто что-то не предлагает.
Я программирую, а не рассуждаю о. (Напоминаю, что последнюю свою общеизвестную программу наш прохвессор написал 30 лет назад, и по современным меркам она - г-но и пользоваться ей невозможно. Не смотря на (возможно) прекрасный код и идеальне алгоритмы внутри - она никому не нужна.)
> А чем "код" отличается от алгоритма?
А, ну тогда паааанятна... месье теоретик.
>ЧТО блжад вообще тут написано?да я и сама офигела!(С) 8-)
В лучшем случае "твёрдая водка" ... но это врядли :)
"Внешние идентификаторы, начинающиеся со знака подчеркивания, а также все другие идентификаторы, начинающиеся с двух знаков подчеркивания или с подчеркивания и заглавной буквы, зарезервированы для использования в библиотеке."Таким образом Керниган и Риччи отсылают к соответствующей документации.
> а, шо?! ТОЖЕ каждый день новые?!
> ффуу, нет, померещилось, алгоритмы и методы не меняются с годами.в смысле каждый день новые? Книжки по паскалю? А зачем они должны быть каждый день новыми если стандарт не меняется? Алгоритмы новые, да придумываются.
> Расскажи вот мне, базируясь на информации, полученной исключительно из керниганов с ритчами
> - почему не компилируется, блжад, такой код:
> extern __inline__ int fn() { some shit }Ну честно не знаю, может во времена Кернигана и Ритчи не было понятия inline, а потом всякие гнушники поналипили отсебятины работающее с нюансами вот и не линкуется при некоторых обстоятельствах.
> это я даже не про static_assert двух несовместимых синтаксисов, и, б-же упаси,
> не про интринсики. Хотя при попытке поправить банальную очепятку в линуксном
> ведре - ты непременно напорешься и на то, и на другое.
> И вот что делать прочитавшему Кернигана?А ничего, вот такие вот стандарты и следования им.
> э... нет. я не готов стать теоретиком от программирования, и должность профессора
> мне тоже никто что-то не предлагает.Ну вот, я об этом же, значить нет смысла читать и вникать (разбирать, комментировать). Как говорит Ordu, "ты ведь инженер, а не ученый", но он упустил одну маленькую деталь относительно инженера, так вот инженер должен быть способен вникнуть (понять) в теоретический труд ученого и найти применение тому. А как этого сделать без чтения трудов ученых?
> Я программирую, а не рассуждаю о. (Напоминаю, что последнюю свою общеизвестную программу
> наш прохвессор написал 30 лет назад, и по современным меркам она
> - г-но и пользоваться ей невозможно. Не смотря на (возможно) прекрасный
> код и идеальне алгоритмы внутри - она никому не нужна.)На вики есть биография этого профессора, и там же перечислены его заслуги. А тот же Ферма вообще не был математиком, а заслуги имеет. Каждому своё, не буду говорить, "мол а ты чего добился, какие твои заслуги", время покажет, и дай Бог Опеннету прожить еще 100 лет, вероятно и ваши заслуги так же в коментах будут обсуждать :)
> А, ну тогда паааанятна... месье теоретик.
Этот вопрос мне легче с Ordu обсудить :) А ниже в коментах ответили на этот вопрос в принципе.
Успехов.
> Ну честно не знаюНу то есть кодить-то ты по факту и не умеешь.
Ч.т.д.> А ничего, вот такие вот стандарты и следования им.
Керниган писал свою книжку в 78м году. С тех пор "немножко" изменились компьютеры, косвенных автоинкрементов, которым большая часть замысловатого сишного синтаксиса посвящена, в процессорах не стало вообще, а вызов однострочных подпрограмм оказался необоснованно дорогим удовольствием.
Проблема что нет никакой более другой книжки, в которой были бы оба варианта __inline__ и их отличия от inline, и оба static_assert. Приходится догадываться по книжкам от c++ (который другой язык и вовсе не все заимствования одинаково выглядят) или по объяснениям коллег, если снизойдут и владеют темой. Ты вот не владеешь.
> так вот инженер должен быть способен вникнуть (понять) в теоретический труд ученого и найти
> применение тому. А как этого сделать без чтения трудов ученых?читать адаптации, сделанные кем-то кто прочитал вместо тебя (Кнут, если что, именно адаптация). Настоящие учоные делают ровно так же. Вся современная практика хранения данных основана на расшифровке Анвином адаптации Планка фундаментального труда Рида-Соломона. Его никто из ныне живущих толком не понимает и никакой пользы тебе от него не будет вообще, даже если поймешь. А Планк и его китаец поди PhD на своей адаптации сделали, а может и не один а десять. Вот Анвин был такой инженер, один на всех. Остальные копипастеры в основном.
Поэтому когда какой-то на сей раз хранцузский вчоный выкатил на гора аналогичную конструкцию на базе никому неведомого Мохита-трансформа - его все послали нахер. Потому что уже учоные, помнят про raid6. Но ты можешь попытаться, конечно. Только я уверен, даже если возьмешь Ordu в помощники, кроме пшика ничего не выйдет. То есть вы ни теорию не умеете, ни практику программирования. А в качестве молитвенника Кнут не очень полезен.
> А ниже в коментах ответили на этот вопрос в принципе.
Чушь ответили-то. То есть никто из вас, присутствующих, вообще не умеет кодить, как минимум на си. Ну, что и требовалось доказать.
> Ну то есть кодить-то ты по факту и не умеешь.
> Ч.т.д.Кодить что и на чем? Вот мелом на доске могу, или на запотевшем стекле, ребенку на пальцах показать могу. Ниже в коментах ответили, что значить "кодить".
> Керниган писал свою книжку в 78м году. С тех пор "немножко" изменились
> компьютеры, косвенных автоинкрементов, которым большая часть замысловатого сишного синтаксиса
> посвящена, в процессорах не стало вообще, а вызов однострочных подпрограмм оказался
> необоснованно дорогим удовольствием.Ну и че? алгоритмы разве изменились? Алгоритму до лампочки какой сейчас век, какова архитектура и какой язык. TM жила и будет жить.
> Проблема что нет никакой более другой книжки, в которой были бы оба
> варианта __inline__ и их отличия от inline, и оба static_assert. Приходится
> догадываться по книжкам от c++ (который другой язык и вовсе не
> все заимствования одинаково выглядят) или по объяснениям коллег, если снизойдут и
> владеют темой. Ты вот не владеешь.Стек вам в помощь и документация по компилятору.
https://stackoverflow.com/questions/2082551/what-does-inline...
https://gcc.gnu.org/onlinedocs/gcc/Inline.html
https://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html#A...
И напомните мне за какой стандарт С писалась книжка Керниганом?
> читать адаптации, сделанные кем-то кто прочитал вместо тебя (Кнут, если что, именно
> адаптация). Настоящие учоные делают ровно так же.А ну ка по подробней про Кнутовую адаптацию, я чет не вкурил.
> Его никто из ныне живущих толком не понимает и никакой пользы
> тебе от него не будет вообще, даже если поймешь.Так для начала нужно понять, чтобы понять потом, что толку нет.
> Вот Анвин был такой инженер, один
> на всех. Остальные копипастеры в основном.А тут пруфы в студию.
> Только я уверен, даже если возьмешь Ordu в помощники, кроме
> пшика ничего не выйдет. То есть вы ни теорию не умеете,
> ни практику программирования. А в качестве молитвенника Кнут не очень полезен.Ничего не выйдет из чего? Что это такое, что дано вам, а мне с Ordu не дано?
> Чушь ответили-то. То есть никто из вас, присутствующих, вообще не умеет кодить,
> как минимум на си. Ну, что и требовалось доказать.Ну вы озвучьте свою "чушь", а то попахивает "блаблабольством".
А про Си, простите, а что должны уметь, и с чего это на Си, вон Ordu на расте может. Я выше написал, могу на пальцах кодить, могу и мелом на доске.
> Кодить что и на чем?ну я вообще-то строчку кода на си показал. Уверен, в хруст ты не умеешь точно так же. bash неинтересно.
> Ниже в коментах ответили, что значить "кодить".
ответили тоже неумеющие. То есть ответ был правильный - года так для 1950го. Уже в 70м в умных книжках для профессионалов было написано - "но настоящим профессионалом в программировании является тот, кто способен разобраться в чужом большом проекте". Потому что это, внезапно, в разы сложнее примитивного переноса алгоритма на язык программирования, для которого язык можно знать и посредственно. И нет, разбираться тебе пришлось бы не в "псевдокоде", а вот в подобных закорючках. Чтение на ночь K&R ничем этому бы не помогло. Можно его вообще пропустить, и сразу читать любимую тобой "документацию", про "оператор присваивания" там тоже есть.
> Стек вам в помощь и документация по компилятору.
мне неинтересно, я знаю правильный ответ. Судя по киданию ссылками на непонимаемые тобой статьи - ты по прежнему не можешь ответить на простой вопрос про сишечку. Т.е. читать Кернигана тебе было незачем, даром потратил время.
Ответ программиста, владеющего инструментом, уместится на двух строчках.
> А ну ка по подробней про Кнутовую адаптацию, я чет не вкурил.
И алгоритмы, и методики их оценки существовали и до него. Заслуга Кнута в основном в том, что он все это собрал в толстенных трех томах, отбросив ненужный шлак, и изложил (условно) доступным языком, а не вывалил тебе пачку ссылок на "документацию", которую и читать было бы нынче незачем - ctrlc/ctrlv со стека и всех дел. Если не компилится или не собирается - прокрутить до ответа, а не только из вопроса копипастить.
Но Кнут совершенно бесполезен неумеющему кодить в принципе. А тут, я смотрю, в основном такие.
> ну я вообще-то строчку кода на си показал.Тогда еще укажите используемый стандарт и компилятор. А потом уже решим K&R поможет или нет. С вашим примером K&R не поможет, почему - писал выше.
> ответили тоже неумеющие. То есть ответ был правильный - года так для
> 1950го.Ну тогда, давайте конкретно определять за какой год давать ответы. В прошлом за содомию, магию и прочее инакомыслие жгли на кострах, а щас в пределах нормы общества.
> Уже в 70м в умных книжках для профессионалов было написано
> - "но настоящим профессионалом в программировании является тот, кто способен разобраться
> в чужом большом проекте".Тут ссылочки на конкретные книжки нужны. Чужой большой проект по нынешним меркам должен иметь документацию. И не согласен с тем, что "настоящий профессионал в программировании" должен разбираться в "чужом большом проекте". Ему своего должно быть достаточно.
> Потому что это, внезапно, в разы сложнее
> примитивного переноса алгоритма на язык программирования, для которого язык можно знать
> и посредственно.И что там сложного? Вы с большим проектом разбираетесь или "загадки обфусцированного кода" разгадываете?
Большой проект - должен иметь документацию, стандарты проектирования и т.д.> И нет, разбираться тебе пришлось бы не в "псевдокоде",
> а вот в подобных закорючках.Избавьте меня от этого, мне делать больше нечего как разгадывать закорючки.
> Чтение на ночь K&R ничем этому
> бы не помогло. Можно его вообще пропустить, и сразу читать любимую
> тобой "документацию", про "оператор присваивания" там тоже есть.Бог в помощь.
> мне неинтересно, я знаю правильный ответ. Судя по киданию ссылками на непонимаемые
> тобой статьи - ты по прежнему не можешь ответить на простой
> вопрос про сишечку. Т.е. читать Кернигана тебе было незачем, даром потратил
> время.Подкину еще дровишек, классика вики, раздел Проблемы.
https://en.wikipedia.org/wiki/Inline_function
А если не интересно читать - вопрос закрыт, по определению мой ответ вам тоже не должен быть интересен.
> Ответ программиста, владеющего инструментом, уместится на двух строчках.
:) рассмешили, из серии - "а сколько нужно вольт, чтобы завинтить шуруп?". Во времена K&R как бы ответили бы на этот вопрос, если была доступна только отвертка, а не шуруповерт? А в наше время когда доступны и отвертка и шуруповерт, этот вопрос был бы корректным?
> И алгоритмы, и методики их оценки существовали и до него. Заслуга Кнута
> в основном в том, что он все это собрал в толстенных
> трех томах, отбросив ненужный шлак, и изложил (условно) доступным языком, а
> не вывалил тебе пачку ссылок на "документацию", которую и читать было
> бы нынче незачем - ctrlc/ctrlv со стека и всех дел. Если
> не компилится или не собирается - прокрутить до ответа, а не
> только из вопроса копипастить.Ну так выбирайте, читать вам Кнута или Стек. И решать вам какой источник вам полезней. Книжки с ответами на все вопросы увы нет.
> Но Кнут совершенно бесполезен неумеющему кодить в принципе. А тут, я смотрю,
> в основном такие.Кнут ведь тоже человек времен K&R, и я думаю, он не собирается переиздавать свои труды под лад ГНУшников. Спросите его, почему?
>> Уметь писать "код" - это что такое вообще?Перекладывание алгоритма на яп с учетом особенностей платформы и среды исполнения.
> Перекладывание алгоритма на яп с учетом особенностей платформы и среды исполнения.Совершенно верно, +1.
>>> Уметь писать "код" - это что такое вообще?
> Перекладывание алгоритма на яп с учетом особенностей платформы и среды исполнения.Хороший ответ для 1950го года, когда программы набирали переключателями.
Но нет. Уже во времена "Численные методы и программирование на фортране" не это считалось важным.Б-же, это впопеннет сейчас в такое скатился, или мне просто так везет с собеседниками? Были ж тут минимум два настоящих программиста, я своими глазами видел - неужели это все, а остальное - др-ры на впопенсосие, ждуны ебилдов, неспособные и нежелающие даже с чужим однострочным патчем чужой софт пересобрать, чтоб решить ерундовую проблемку?
> Хороший ответ для 1950го года, когда программы набирали переключателями.
> Но нет. Уже во времена "Численные методы и программирование на фортране" не
> это считалось важным.Это ответ того, у кого мозоли на пальцах от этих переключателей?
> неспособные и нежелающие даже с чужим однострочным патчем
> чужой софт пересобрать, чтоб решить ерундовую проблемку?Проблема в головах, увы её не решить. И все людские беды от ума. Желаю вам не решать чужие проблемы, а избегать свои.
Может и резко и жёстко но по моему достойные спецы не будут тратить своё время на опеннет.
P.S.Опеннет очень хорош.Но для определённого контингента)
> Может и резко и жёстко но по моему достойные спецы не будут
> тратить своё время на опеннет.
> P.S.Опеннет очень хорош.Но для определённого контингента)Наивный, вы владеете своим временем, чтобы его еще и тратить?
Детерминизм это оправдание собственной лени.
> Детерминизм это оправдание собственной лени.То, чего мы сторонимся, то нас преследует. То к чему мы стремимся, то нас настигает. Что это?
> Может и резко и жёстко но по моему достойные спецы не будут тратить своё время на опеннет.Ну я вот двух видел. Те точно умели кодить.
> P.S.Опеннет очень хорош.Но для определённого контингента)
для контингента, который так и не смог принять уродливые втентакли с телеграмчиками как среду общения.
> Нет, я хз что читать про современный C.Все тоже. Плюс нужный стандарт.
(C++ - харам, не надо читать.)
> если ты можешь прочитать а не пролистать Кнута за то же время - то, конечно, успехов.
А какие проблемы-то? Да еще если ограничиться выполнением заданий уровня 01)
> В любом случае - алгоритмы это прекрасно, но надо ж уметь и код как-то написать...
Так программирование - это про алгоритмы, а не про описание приплюснутого (или к-л еще) синтаксиса.
Лучшего "введения в" чем SICP тут, мне кажется, так и не написали.
>> Нет, я хз что читать про современный C.
> Все тоже. Плюс нужный стандарт.Я вот там выше задал вопрос из своей практики - как мне показалось, банальный. (Во всяком случае, в кругу программистов мне дали на него ответ почти сразу, и даже показали почему перестал работать.)
В ответ только чепуха и попытки спрыгнуть с темы. Ты тоже не можешь объяснить что там написано?>> если ты можешь прочитать а не пролистать Кнута за то же время - то, конечно, успехов.
> А какие проблемы-то? Да еще если ограничиться выполнением заданий уровня 01)толстый он. Ну и тоску навевает смертную.
>> В любом случае - алгоритмы это прекрасно, но надо ж уметь и код как-то написать...
> Так программирование - это про алгоритмы, а не про описание приплюснутого (илито есть уметь писать код вам не надо, вы ни на каком инструменте не играете, руководитель, видимо?
> Ты тоже не можешь объяснить что там написано?Можно носом ткнуть в что смотреть? Лень по треду бегать, а ничего конкретного вроде куска кода я не припоминаю.
> толстый он. Ну и тоску навевает смертную.
Он тоньше этого опуса (или того же порядка). На любителя, да. Но если тебе скушны математические тексты - может и программирование не твое?
> то есть уметь писать код вам не надо
Надо, конечно. Но это уже не про обучение программированию - а про обучение
синтаксису конкретного языка программирования.
>> Ты тоже не можешь объяснить что там написано?
> Можно носом ткнуть в что смотреть? Лень по треду бегать, аможно, как-никак, любимый образчик:
extern __inline__ int fn() { inline code; }Что за норкомания тут написана, что это ВООБЩЕ означает (а если подумать?) и, кстати, почему такая программа не собирается и что с этим делать? (а ты думал, это обстракция? Хрен там, сборка сломалась) И отдельно - как тебе помогло прочтение K&R для решения этой проблемы?
> Но если тебе скушны математические тексты - может и программирование
> не твое?ну уж точно не программирование стопиццотого способа сортировки массива. Это вообще мало "чье".
С моей точки зрения, профессионалу полезно знать что в этой книге где-то есть, и примерно уметь оценить, стоит ли в ней рыться ради конкретного случая, или так сойдет. А прочитать от корки до корки и прорешать все упражнения - ну я хз, кому и зачем это надо и почему бы ему не пойти работать вместо этого.>> то есть уметь писать код вам не надо
> Надо, конечно. Но это уже не про обучение программированию - а
> про обучение синтаксису конкретного языка программирования.ну а какое может быть программирование без конкретного синтаксиса? Тем более пример-то самого простого языка и сам по себе простой.
В плюсовых или хрустовых загогулинах и профессионалы путаются, и чаще реально проще переписать чем разбираться.
> можно, как-никак, любимый образчик:
> extern __inline__ int fn() { inline code; }
> Что за норкомания тут написана, что это ВООБЩЕ означает (а если подумать?)
> и, кстати, почему такая программа не собирается и что с этим
> делать? (а ты думал, это обстракция? Хрен там, сборка сломалась) И
> отдельно - как тебе помогло прочтение K&R для решения этой проблемы?вот K&R вам точно сказали бы, что за нах нОркомания. Может еще конституция должна сказать, что за нах там написан? А за эту нОркоманию вам ответит только ГНУшная документация.
> ну уж точно не программирование стопиццотого способа сортировки массива. Это вообще мало
> "чье".А зачем, когда за вас давно уже придумали, а вам всего лишь остается пользоваться тем что есть.
> С моей точки зрения, профессионалу полезно знать что в этой книге где-то
> есть, и примерно уметь оценить, стоит ли в ней рыться ради
> конкретного случая, или так сойдет.Экстрасенсорный программист :) Не прочитав книги знает о чем там речь. Даже по содержанию на первых двух страницах книги, трудно судить о полезности всей книги, не прочитав её от корки до корки. А весело, когда там пишут, вот эту главу можете не читать и переходить к другой :)
> А прочитать от корки до корки
> и прорешать все упражнения - ну я хз, кому и зачем
> это надо и почему бы ему не пойти работать вместо этого.а зачем программировать, если можно и камни таскать. Каждому своё, не судите обо всех по себе.
> ну а какое может быть программирование без конкретного синтаксиса? Тем более пример-то
> самого простого языка и сам по себе простой.Ну так для начала и нужно было написать на каком языке вы написали и какому стандарту придерживались, если вдруг у языка их куча, не говорю еще о том как эти стандарты соблюдаются теми или иными инструментами - компиляторами. Написали ГНУшную "ересь" и хотите пояснений от талмуда K&R?
> В плюсовых или хрустовых загогулинах и профессионалы путаются, и чаще реально проще
> переписать чем разбираться.:) пиши свое, программист!
>>> Ты тоже не можешь объяснить что там написано?
>> Можно носом ткнуть в что смотреть? Лень по треду бегать, а
> можно, как-никак, любимый образчик:
> extern __inline__ int fn() { inline code; }Это выдранный с мясом кусок кода. Могу ошибиться, не зная что такое code.
> Что за норкомания тут написана, что это ВООБЩЕ означает (а если подумать?)
> и, кстати, почему такая программа не собирается и что с этим делать?Не собралось, подозреваю, на не-gcc. Т.к. __inline__ - нестандартный синоним inline
в ем: https://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html#A...> отдельно - как тебе помогло прочтение K&R для решения этой проблемы?
А причем тут K&R? Если на ansi-С пишешь - можно и K&R ограничиться. А если
начал использовать более современные диалекты - тут есть стандарты, которые
таки надо читать. Ну и документацию компилятора, если уж и нестандартные расширения используешь.Все как я, в общем-то и написал: введение в синтаксис языка и стандарты. Лучше
K&R введения в C - нету.>> Но если тебе скушны математические тексты - может и программирование
>> не твое?
> ну уж точно не программирование стопиццотого способа сортировки массива. Это вообще мало
> "чье".Зато полезно понимать, что такое массив, что такое список
и т.п. Подпрограммы-сопрограммы, вот это вот все. Алгоритмы и
структуры данных, короче. Может на вкус и цвет - тут есть и более
любимые тобой книжки, но Кнут - он вот как раз про это.Раньше это надо было знать. А сейчас - надо сечь в фреймворках,
API прикладных библиотек, в этом вот всем. Хотя однажды невежество
подкрадется к такому смузихлебу и кааак наподдаст...>>> то есть уметь писать код вам не надо
>> Надо, конечно. Но это уже не про обучение программированию - а
>> про обучение синтаксису конкретного языка программирования.
> ну а какое может быть программирование без конкретного синтаксиса?Ну вот см. того же Кнута. Там алгоритмы формулируются без конкретного синтаксиса,
на человеческом языке (хотя приводится параллельно и ассемблерная версия).> В плюсовых или хрустовых загогулинах и профессионалы путаются, и чаще реально проще
> переписать чем разбираться.Да, учить программированию с C или с приплюснутым - это жесть.
> Это выдранный с мясом кусок кода. Могу ошибиться, не зная что такое code.какой-то код. Неважно что делающий.
Меня интересуют предыдущие заклинания. Удивительно, но ты третий, кто не понимает, и, вероятно, не умеет кодить? Потому что вопрос (если не знать ответ) напрашивается.> Не собралось, подозреваю, на не-gcc. Т.к. __inline__ - нестандартный синоним inline
не угадал (не-gcc, но он знает про __inline__, да и в gcc в любой момент, а может уже, могли сломать точно так же, это устаревший вариант семантики). И не совсем/всегда синоним.
> А причем тут K&R?
вот при том - ты его читал, а реальную проблему в коде исправить не можешь - причем даже не понимаешь, что тут такого удивительного. Третий...
А я спрашивал не столько даже про проблему, специфичную для конкретного странного случая, сколько предлагал подумать, кому было бы чем, что вообще за норкомания здесь написана, что вообще тут должен был сделать компилятор, кроме как по сегфолту упасть от охренения?
Вот трем человекам не пришло даже в голову поинтересоваться, что за нахрен и как так быть может, хотя явный же бред написан, если не знать заранее то, о чем в K&R ничего нет - угадать не выйдет.
(А он может, ога. У инлайнов, внезапно, очень нетривиальная семантика. То что тут оно еще и сломалось, уже мелочь.)
Книжек таких, увы, нет. О чем, собственно, и была речь. Т.е. это один пример, просто на мой взгляд совсем уж выдающийся, а в общем и целом - современный си и практики программирования на нем уже очень далеко ушли от K&R, и книжку давно пора новую писать. Поменьше внимания уделяя никем неиспользуемому и бесполезному a[++i]+=b, побольше современным особенностям - инлайны, интрисики, cpu-specific код, что я еще забыл - то, чего ради и используют низкоуровневый язык по назначению.
>вот при том - ты его читал, а реальную проблему в коде исправить не можешь - причем даже не понимаешь, что >тут такого удивительного. Третий...Ну и где же ваш ответ? Где там проблема раз уж мы не знаем? Не будет ответа, считай не "блаблабол", а "3.14здабол" очередной.
> Ну и где же ваш ответ? Где там проблема раз уж мыпшел нах, он тебе не нужен - ты не умеешь кодить.
Я готов продолжать обсуждение только с теми, кто хотя бы немного имеет отношение к профессии.
> Я готов продолжать обсуждение только с теми, кто хотя бы немного имеет
> отношение к профессии.ты уже дал себе определение, посмотрим кто с тобой будет хоть что-то обсуждать.
Нет, тебе мерещится. То что ты придумал мне какое-то 'определение' - исключительно твоя проблема. Ты ненунжное ненужно, др-р на впопенсосие, не умеющий кодить, с тобой обсуждать просто нечего и незачем.
>> Это выдранный с мясом кусок кода. Могу ошибиться, не зная что такое code.
> какой-то код. Неважно что делающий.
> Меня интересуют предыдущие заклинания. Удивительно, но ты третий, кто не понимает, и,
> вероятно, не умеет кодить?Ну, вопрос-то был о потенциальных проблемах, "почему не собирается"? Я ответил почему может
не собираться.>> Не собралось, подозреваю, на не-gcc. Т.к. __inline__ - нестандартный синоним inline
> не угадал (не-gcc, но он знает про __inline__, да и в gcc
> в любой момент, а может уже, могли сломать точно так же,
> это устаревший вариант семантики). И не совсем/всегда синоним.Нет, не сломали. И - синоним в gcc. "extern inline" может быть следующей кандидатурой. Эта семантика неодинаково поддерживается стандартами. Но, в принципе, ничего страшного тут нет: писавший подразумевал "у нас есть для этого extern, но вот вам типа inline версия, если хочите".
>> А причем тут K&R?
> вот при том - ты его читал, а реальную проблему в коде
> исправить не можешьНу так я ж не телепат! Тебе дали уже два варианта возможных источников проблем.
> современный си и практики программирования на нем
> уже очень далеко ушли от K&R, и книжку давно пора новую писать.Не думаю. Скорее, тенденция в том, что такие инструкции компилятору сувать
под нос нужно все реже - сам разберется что ему inline. Вкалывают роботы.Может и пора писать новое введение, но - некому, все померли. Да и C, в отличие
от всяких питончиков - зарос legacy-конструкциями и проще не становится.> никем неиспользуемому и бесполезному a[++i]+=b
Ну почему-ж неиспользуемому-то? Азы адресации, присваивание...
> cpu-specific код, что я еще забыл
- а это вообще не про C, который "переносимый ассемблер".
> Ну, вопрос-то был о потенциальных проблемах, "почему не собирается"? Я ответил почему может
> не собираться.то что ты гадаешь, не зная ответа - это еще ладно. То что ты при этом не спросил вслух - "да что вообще тут за херь такая, как inline может быть extern и что тут курили или нюхали?!" - это вот странно.
> Не думаю. Скорее, тенденция в том, что такие инструкции компилятору сувать
> под нос нужно все реже - сам разберется что ему inline.Не разберется, он не знает можно это инлайнить или нельзя и у нее есть побочные эффекты. При этом вызов функций в современных процессорах штука дорогая, его надо избегать в критичных местах.
Вот a[++i]+=b - уже действительно не нужны тридцать лет как, нет тех процессоров, для которых Ритчи эту оптимизацию придумал (это одна инструкция dec pdp11), у современных от нее только inc/dec остались, т.е. только ++i/i++ имеют семантику, отражающую реальную особенность, да и та низачем не нужна), напиши в стиле фортрана - скомпилируется ровно в такой же код, только еще и удобочитаемый.
> - а это вообще не про C
Это про C, вот сейчас такое как раз патчу.
Да, это про современный, про это тоже не узнаешь из книжки 72го года, и столкнувшись - будешь смотреть как баран на новые ворота и судорожно рыться в стековых копипастах.
>> Ну, вопрос-то был о потенциальных проблемах, "почему не собирается"? Я ответил почему может
>> не собираться.
> то что ты гадаешь, не зная ответа - это еще ладно.Не мы таки - жизнь такая. Ты задачи формулируй, чтобы не нужно было гадать.
> То что ты при этом не спросил вслух - "да что вообще
> тут за херь такая, как inline может быть extern и что
> тут курили или нюхали?!" - это вот странно.In 2001, Linus said:
- "extern inline" means "I actually _have_ an extern for this function,
but if you want to inline it, here's the inline-version"Учитывая контекст - это именно то, о чем я написал. Хотя я реально не лазил в стандарты,
чтобы выяснить когда эта семантика была бы корректной, если вообще.>> - а это вообще не про C
> Это про C, вот сейчас такое как раз патчу.Я не про то, что это неактуально практически (забивать гвозди могут хоть твоей
головой вместо молотка) - а про то, что это не то, для чего был придуман C.> Да, это про современный, про это тоже не узнаешь из книжки 72го
> года, и столкнувшись - будешь смотреть как баран на новые ворота
> и судорожно рыться в стековых копипастах.Не буду. Пойду в стандарты, документацию используемого компилятора и т.п.
> Ты задачи формулируйНу какое слово в специально для тебя переписанной формулировке было неясно:
> Что за норкомания тут написана, что это ВООБЩЕ означает (а если подумать?) и, кстати, почему
> такая программа не собирается и что с этим делать?ответа, к моему удивлению, не знает и не умеет узнать ни один из собеседников. Ну и вот чего дальше с такими общаться на темы изучения программирования, если они кодить не умеют в принципе, только "разрабатывать идеальные алгоритмы" (да и те не умеют, полагаю, умеют из кнута скопипастить, может быть)?
Ответ мне неинтересен, я его и так знаю - мне интересно использовать знание или незнание тобой ответа (а не умение быстро нагуглить каких-то совпавших по ключевым словам ссылок, которые оппонент ни разу не прочел и не понял) для дальнейшей аргументации - почему K&R безнадежно устарела и читать ее совершенно бесполезно для современного программиста - другой хорошей художественной литературы хватает. С тем же успехом можно изучать назначения переключателей в Марк-1.
> Учитывая контекст - это именно то, о чем я написал.
ну прекрасно, что с третьей попытки ты осилил разобраться, непрекрасно что для этого потребовалась неделя уговоров.
Дальше, собственно, уже неинтересно, там действительно специфика конкретных компиляторов и конкретного диалекта (C11 все в очередной раз поменял, и не будем показывать пальцем у кого он оказался по умолчанию вместо привычного 99).
> ответа, к моему удивлению, не знает и не умеет узнать ни один
> из собеседников.Так я бы не удивлялся, учитывая что ты ставишь некорректные задачи (к-е
не имеют единственного ответа, например).
> Так я бы не удивлялся, учитывая что ты ставишь некорректные задачи (к-е
> не имеют единственного ответа, например).задача была, повторяю, не получить и так давно мне известный ответ, а продемонстрировать что сишечка нынче совсем не та, что в 72м году. Для чего был выбран уникально-образцовый кусок кода, проверенно вызывающий полный ах..й у человека, умеющего кодить, знающего Cи не по Кернигану, но не владеющего конкретным предметом.
К сожалению, я не учел, с какой публикой имею дело - мне все по инерции кажется, что опеннет подразумевает умение получать какую-то пользу от открытого кода, а не др-чку на фетиш впопенсосия и чтоб денег никому не платить.
>> Так я бы не удивлялся, учитывая что ты ставишь некорректные задачи (к-е
>> не имеют единственного ответа, например).
> задача была, повторяю, не получить и так давно мне известный ответПривожу пример подобной "задачи": раздели 71 на 8 с остатком. Вот тут ты хочешь,
внезапно, единственный ответ.> а продемонстрировать что сишечка нынче совсем не та, что в 72м году.
> Для чего был выбран уникально-образцовый кусок кода, проверенно вызывающий полный ах..йДа не было конкретно у меня полного а...я, я умоляю. То, что (первый) ответ не
был задуманным тобой - проблема формулировки задачи, а не конкретного
варианта решения.
> Привожу пример подобной "задачи": раздели 71 на 8 с остатком. Вот тут ты хочешь,
> внезапно, единственный ответ.В школе такие задачи училка, внезапно, тоже вовсе не для того задает, чтобы узнать от тебя остаток. Она его и так знает, он в конце учебника написан. А тебе это знание ничем не пригодится.
Задача была для остановиться и задуматься, если есть чем. Вы все ее сфейлили, предъявив вместо этого навык быстрого гуглежа (что характерно - бесполезный, только твоя цитата из Линуса была близко к цели).Кроме разьве что экземпляра, вспомнившего про "библиотечные функции" - это вот спасибо, это я занес в анналы, использую в следующем аналогичном тредике для демонстрации не то что бесполезности, а вреда "знаний" полученных из книжек 70х годов.
Но с самим экземпляром, естественно, дискуссии о программировании получиться после такого ответа уже тоже не могло.
>> Привожу пример подобной "задачи": раздели 71 на 8 с остатком. Вот тут ты хочешь,
>> внезапно, единственный ответ.
> В школе такие задачи училка, внезапно, тоже вовсе не для того задает,
> чтобы узнать от тебя остаток. Она его и так знаетВ этом и проблема. Она знает - потому что ставит тебе не совсем ту задачу,
что сформулировал я. Т.е. имея в виду некоторые дополнительные условия, которые
формулируются в рамках школьного курса и гарантируют, что остаток - единственный.> Задача была для остановиться и задуматься, если есть чем. Вы все ее
> сфейлили, предъявив вместо этого навык быстрого гуглежа (что характерно - бесполезный,
> только твоя цитата из Линуса была близко к цели).Неправда. Мой первоначальный ответ тоже был совершенно правильным, соответствуя
условиям задачи ("почему может не собраться" и т.п.).
> Мой первоначальный ответ тоже был совершенно правильнымОтвет не был правильным (у этой задачи только один правильный ответ, как и у школьной), но он мне и не был нужен, совершенно. Нужно было задуматься, что тут написано - а этого вы не умеете, потому что не пишете на си и не читаете чужой код.
(другое дело если бы ты дал действительно правильный ответ, не задумываясь просто от того что его знал - тогда было бы с чего продолжать)
>> Мой первоначальный ответ тоже был совершенно правильным
> Ответ не был правильным (у этой задачи только один правильный ответ, как
> и у школьной)Разумеется. Но только после формулировки дополнительных условий.
> Нужно было задуматься, что тут написано
Неа. Вопрос был сформулирован так:
(1) Что за норкомания тут написана, что это ВООБЩЕ означает (а если подумать?) и, кстати, (2) почему такая программа не собирается и что с этим делать?На (2) - я тебе ответил сразу (#271). На (1) - в следующем (#274) посте, после уточнения. (Только тебя почему-то без цитаты Линуса не проняло.) Ну и?)
Крайне глупое сравнение. Чтобы читать среднюю книгу по C++ мозг придётся напрягать по минимуму, разве что на некоторых моментах заострять внимание. Кнута же в свою очередь без вдумчивого чтения можно и вовсе не читать - смысла нет. +Упражнения в любой книге по C++ натаскивают на приёмы языка, а у Кнута на общее понимание CS, большинство сложных задач Кнута не осилят 99% приматов.
Проблематика (сайт, ссылка "О проблеме") формулируется правильно.
С оговорками, но правильно.
Выучить на модные тулкиты и языки - не задача университетского курса
Задача - сформировать мышление.
*@#₽питекам - это бессмысленно объяснять, у них комплекс крутости и модности, только новый подвид ЖС им подавай! Тяп-ляп и в продакшн! Зачем алгоритмы! Учимся сразу на сеньора JS fullstack pro 9999 за 20$ на юдему.
Jira расставит по местам в конце проекта. Хотя... Сколько будет потеряно в течении проекта.
Вот он пишет, что надо общаться с компьютером командами, вручную запускать компилятор... Но подавляющее большинство программистов справляет свои нужды в ИДЕ. И часто именно навыки обращения с инструментами ценятся в коммерческой разработке. То есть, именно в профессии.
Самоучки в программировании, которые юникс знают и все в консольке делают - это зачастую люди ограниченно годные к коммерческой разработке вообще.Кадровики самоучек не любят и даже полугодовой опыт работы в какой-нибудь галере лучше, чем вот такой фундаментал в голове без оного.
У автора не введение в профессию, а скорее способ от нее максимально дистанцироваться, стать overqualified и зарабатывать написанием книг^W^W^W.
> Вот он пишет, что надо общаться с компьютером командами, вручную запускать компилятор...
> Но подавляющее большинство программистов справляет свои нужды в ИДЕ. И частоИ потом совершенно беспомощны, когда надо решить задачу, даже немного выходящую за рамки.
> именно навыки обращения с инструментами ценятся в коммерческой разработке. То есть,
> именно в профессии.Невозможно выучить на все реализации. Даже в 10-12-летнем цикле.
Однако человек должен знать, что он делает, и что ему нужно от ИДЕ> Самоучки в программировании, которые юникс знают и все в консольке делают -
> это зачастую люди ограниченно годные к коммерческой разработке вообще.А самоучки же, которые все делают лишь в одном любимом ИДЕ?
> У автора не введение в профессию, а скорее способ от нее максимально
> дистанцироваться, стать overqualified и зарабатывать написанием книг^W^W^W.Разговор про учёбу. И не в 10-12-летнем цикле, а 5-летнем (уже и 4-летний есть?).
В коммерческой разработке программист и должен быть беспомощным. Думать всегда должен кто-то сверху, а программист должен работать.
Наверх продвигается тот, кто умеет потребности бизнеса лучше считывать, а не тот, кто программирует лучше. По меркам бизнеса лучше - значит быстрее, а не лучше.Быть программистом и работать программистом - это вообще две разные деятельности. В названии книги есть слово профессия. То есть имеется в виду работа. В таком случае автору надо ознакомиться не с тем, как программистов учат, а с тем. как они работают.
То есть это конечно очень круто, если программист владеет кучей парадигм, знает несколько языков и вообще может что угодно сам написать, от веба и до прошивки какой-нибудь эмбедовки. Но платят не за это. Платят за бег в колесе внутри своей узкой сферы. Профессия программиста сейчас - это владение навыком настройки своего фреймворка под задачи бизнеса. Хард скиллс сейчас ценятся меньше, чем софт скиллс. Про это даже пишут в западных книжках.Даже если ты умеешь все, платить будут за что-то одно. И чем ты больше умеешь, тем тебе на обычной работе менее интересно. Так что лучше уметь и знать поменьше, считать коллег гуру и иметь восторженный вид, чем все знать и уметь самому, считать коллег бракоделами, а начальство тупицами.
Что же, по-своему резонно.
Хотя я по-прежнему не думаю, что это тема для универа.
Пусть эти скиллы подождут своего Столярова.
> Что же, по-своему резонно.
> Хотя я по-прежнему не думаю, что это тема для универа.Для ПТУ эта тема. До сих пор удивляюсь, зачем их мучают высшим образованием. Оно для их работы совершенно ненужно.
> Пусть эти скиллы подождут своего Столярова.
да вроде раньше полно было книжек про умение быстро гуглить, куда ж они девались?
>> Что же, по-своему резонно.
>> Хотя я по-прежнему не думаю, что это тема для универа.
> Для ПТУ эта тема. До сих пор удивляюсь, зачем их мучают высшим
> образованием. Оно для их работы совершенно ненужно.В ПТУ будущие баш-программисты операционных систем типа Rosa Tresh заслуженно наполучают в торец, в результате будет некому оборачивать попрошайничество патчей в патриотичную обёртку. Потому они идут учиться на физиков-теоретиков.
На физиков-теоретиков все-таки в рашен ПТУ (технических университетах) - не учат.
Вероятно, не все учатся. Наблюдаемый экземпляр якобы окончил mrsu.ru (сейчас глянул, он на юридическом на физика-теоретика учился?) и даже про Демона Максвелла не в курсе. Умеет лишь молоть языком за коммунизм.
> В коммерческой разработке программист и должен быть беспомощным.ну просто считай что автор учит не манкикодеров.
> Думать всегда должен кто-то сверхувот на них он и учит.
> а программист должен работать.
для этого и среднего образования хватит.
> Наверх продвигается тот,
у кого папа начальник.
> Быть программистом и работать программистом - это вообще две разные деятельности. В
> названии книги есть слово профессия. То есть имеется в виду работа.нет, имеется в виду профессионализм.
> В таком случае автору надо ознакомиться не с тем, как программистов
> учат, а с тем. как они работают.Ему вряд ли интересен труд галерных рабов.
> за бег в колесе внутри своей узкой сферы. Профессия программиста сейчас
> - это владение навыком настройки своего фреймворка под задачи бизнеса. Хардадмина позвать, пусть настроит. Программист - это макака, колбасящая простыни копипасты, мы тебя поняли. Ничего настраивать они, если ты не в курсе, не умеют. Я сталкивался, ога.
Настройки они тоже копипастят со стека - совершенно не понимая, что те значат.> восторженный вид, чем все знать и уметь самому, считать коллег бракоделами,
> а начальство тупицами.тогда просто купи диплом, зачем ты потратил шесть лет впустую?
Под настройкой фреймворка я имел в виду вполне себе кодирование. В том числе с ООП и паттернами.
Если реализации шаблонны и по объему меньше, чем фреймворочный код - это настройка фреймворка.>вот на них он и учит.
В техническом аспекте - возможно. Но что-то я не вижу вакансий, где требуется именно технический спец, знающий все от и до. Который будет заниматься вебом, но должен уметь ассемблер.
Опыт от трех(пяти) лет, список фреймворков, список инструментов. Этот шаблон наблюдается на senior и lead позициях точно так же, как на junior и middle.Сейчас на ведущих технических позициях люди, исторически прошедшие школу pascal/basic/asm и так далее. Но это именно их история.
Автор правильно пишет, что сейчас роль входной двери для любителей предоставляет веб. В будущем будут наверху те, кто лучше программировал веб, вот и всё.
Нужно культивировать не специфические навыки, которые как кажется приводят к хорошему результату, а образ мышления, который к ним приводит. Вот про это книгу можно было бы написать. Тоненькую причем.
> В техническом аспекте - возможно. Но что-то я не вижу вакансий, где требуется именно
> технический спец, знающий все от и до.это обычно CTO в мелком стартапе, или руководитель направления в крупной конторе.
Такие вакансии почти никогда не выкладывают на хедхантер (а если выложат - значит там совсем все плохо)."Уметь" только после прочтения той книжки ты по прежнему будешь примерно ничего - просто получишь некоторую платформу для дальнейшего развития. Без которой все будет выглядеть построениями на песке.
> Сейчас на ведущих технических позициях люди, исторически прошедшие школу pascal/basic/asm и так
> далее. Но это именно их история.Вряд ли. Скорее просто имеющие представлене о. Чтоб не побежать, задрав штаны, за каким-нибудь модным фуфлом, типа переписывания-переписывания всего на свете на хруст.
В проекте при этом ничего из перечисленного вообще может не использоваться.> В будущем будут наверху те, кто лучше программировал веб
Не, не будут. В лучшем случае так и будут тимлидами, а в наиболее вероятном - переведутся в pre-sales (как вон один ныне сотрудник nginx.com нам представлялся), там больше платят.
Те кто просто был хорошим ремесленником - так и будут писать на своем гвидобейсике, в принципе-то, и за неплохую зарплату. Но вот решать на чем и как писать - будут не они.
>>>Профессия программиста сейчас - это владение навыком настройки своего фреймворка под задачи бизнеса. Хард скиллс сейчас ценятся меньше, чем софт скиллс. Про это даже пишут в западных книжках.https://groups.google.com/g/fido7.ru.unix.bsd/c/ueVdl_p4F-k/...
мне маны читать некогда, я программист.
классика же
Книги хорошие, учился по ним, материал топовый. Автор сильно токсичный, это конечно минус. Но благодаря этим книгам я устроился на должность nodejs разработчика и супер выгодно отличался от тех, кто начал с высокого уровня и не понимает как работают компьютеры на самом деле. Закон дырявых абстракций. Щас уже получаю столько сколько и мечтать не мог и имею репутацию профи в конторе. В общем книги годные и по сути уникальные.
Рад за вас. Продолжайте наблюдение.
>Учился по книгам Столярова
>Устроился на должность NodeJS разработчикаРекомендую ему в гостевой книге на сайте благодарность оставить, раз так помогло.
Ну ты же знаешь, что ему столярыч там натоксикозит в ответ. Подставляешь... ))))
Это постирония?
Нет. Книги правда супер полезные и учат тому, что сейчас абсолютно все пропускают, не смотря на то что пропускать это нельзя. Много раз убеждался что коллеги с годами опыта не понимают что пишут именно потому что пропустили эту часть обучения.
И клиентсайд скриптингом я не занимаюсь, так что вряд ли у автора есть повод желать мне смерти :)
Зачем предполагать, узнай его мнение. Лиши себя иллюзий!
> nodejsВсю жизнь ваял на паскалях-асмах-сях-джавах-пыхпах. Но нынче JS мне наоборот после всего этого трудно дается.
"Как работает оборудование на самом деле". Вот именно. Студентов-математиков приучают> Книги хорошие, учился по ним, материал топовый. Автор сильно токсичный, это конечно
> минус.Ещё нужен Столяров для грамотной речи. )) И "токсичный" в этом контексте вообще неинформативно, и "дырявые абстракции" означают изначальное несовершенство любой модели (упрощенного описания).
Да, Столяров в ряде вопросов слишком оригинален (понимаю, к чему он стремился, но эффект может оказаться и "не тем") или слишком вперёд выдвигает собственные пристрастия.
Скажем, мне думается, что пугать читателя юниксом было не обязательно. Той же командной строкой можно пользоваться и без bash, в другой оболочке.Очень жалею, что знал о книге, но не знал самой книги.
Первое издание "открыл" буквально на днях. ))
> Книги хорошие, учился по ним, материал топовый [...] благодаря этим книгам я устроился на должность nodejs разработчикаУ меня бывшая без всяких книг устроилась на фронтэнд разработку сразу после окончания физфака через два месяца туториалов в интернете, какой топовый материал? Фронтэнд - это самый низкий уровень вхождения, там ваще ничего знать и уметь не надо. Рад, что ты устроился, но что-то явно с этой книгой было не то, если ты nodejs приводишь в пример. Это ж днище днища. Для начала сойдёт, но это как бы песочница с куличиками, совочками и заботливыми родителями.
Ты неправ, сегодня жс это приложения любой сложности и любого уровня. Ну и потом, нода это вообще не фронт ни разу.
Ну если они на жс делают что-то кроме фронта то это уже диагноз. Жс - наихудший выбор из всего разумного, что есть на бекэнде (если отбросить всякое фричество вроде хаскеля, лиспов и прочего). На фронте просто выбора особо нет, поэтому там оно вынужденное. Хотя сейчас есть тайпскрипт, но покуда оно собирается всё равно в жс а не васм - это так, костыль.
> Ну если они на жс делают что-то кроме фронта то это уже диагноз.Ну и где ТВОЙ onlyoffice - не на js ?
Я шкурно заинтересован. Только вот ты не смог.
С дуру можно и хер сломать, как говориться. Было бы желание - его бы и на перле написали. Из этого бы не следовало, что перл - язык пригодный для разработки больших проектов.
> С дуру можно и хер сломать, как говориться.мне кажется, обсуждать сдуру-не сдуру, можно только если либо сам можешь, либо точно есть примеры.
> Было бы желание - его бы и на перле написали. Из этого бы не следовало,
Почему-то вот не написали. То ли желания не было, то ли это технически неосуществимо за человеческие жизни, независимо от желаний.
У меня есть сильное подозрение, что и сишечка для этой цели уже не подходит - то что могла сделать MS с 86го по 2016й годы - можно было один раз, при отсутствии конкурентов (точнее, застрявших на еще более ранних стадиях конкурентах). Сейчас не удастся кормить с полуфабрикатов промежуточных лет четыре поколения разработчиков, чтобы пятое наконец-то могло сосредоточиться на облачках и сером на сером, считая все остальные проблемы уже решенными.
Нужно с нуля до рабочего кода уровня 2020го года - быстро, пока деньги инвесторов еще не протрачены, а твоя длинная седая борода не достигла пола.
И вот на js - оказывается, можно. Даже без электрона, что удивительно. Вероятно, в основном из-за реюза чужого кода, начиная с лефтпадов, но, наверное, не только.
А на перле мне проекты сравнимого масштаба неизвестны.
CPAN у них все-таки крутой был, но как это все стыкуется для "чего-то большего" -- отдельный вопрос
> Рад, что ты устроился, но что-то явно с этой книгой было не то, если ты nodejs приводишь в пример. Это ж днище днища. Для начала сойдёт, но это как бы песочница с куличиками, совочками и заботливыми родителями.Можешь расскажешь подробнее в чем проблема?
Во всём. Язык плохой (https://www.google.com/search?q=javascript+criticism), стандартной кросс-платформенной библиотеки уровня ОС у него нет (типа stdlib джавы, stdlib раста, stdlib питона и так далее), никаких преимуществ вроде эффективности потребления ресурсов по сравнению с другими скриптовыми языками у него нет (при этом другие языки выигрывают просто потому, что они другие - тупо лучше спроектированы).Это косая, корявая поделка выросшая из динамического разворачивания менюшек на веб-страницах. Популярный он ровно по одной причине - едет верхом на популярности самого веба. А то, что на вебе именно он - чисто исторически сложилось. Никто там лучший язык не выбирал, просто фиганули что было без задней мысли, типа для менюшек сойдёт, а потом было поздно.
Работает? Да, работает. В его развитие вбухали столько денег, что подумать страшно. Но выглядит это как если бы взяли калеку с дефектами развития мозга и кинули все ресурсы планеты что бы быстренько из него сделать президента галактики - он всё равно тупой и убогий, но бабки тащат кое-как, потому что деваться некуда.
Будущего у него нет. Будущее веба - это wasm. А в него будут компилировать из нормальных языков. Собственно asm.js, а потом и wasm (и в том числе typescript) придумали и разработали именно потому, что люди понимают что с этим говном будущего нет, надо что-то другое делать, другое придумывать и развивать.
Но для зарабатывания денег - отличный вариант. На фронтэнд-разработчиков огромный спрос. Технология только сама очень убогая, но бабки как я уже сказал тащат. Это как работать в Сбертехе - можно получить очень много денег, но говна по дороге придётся съесть изрядно.
PS. И так называемая экосистема тоже плохая. То есть она богатая, но она богатая как индийская река заразой. К сожалению (хотя это закономерно), в жаваскриптовой среде довольно низкий уровень software engineering. Простейший пример: ты собираешь некий проект через npm, а он пытается на винде вызывать несуществующие программы, которые явно под линукс заточены. В жавовской экосистеме к примеру такое вообще немыслимо - там весь код будет написан на жаве и автоматически кросс-платформенно. Да и сам npm довольно убого спроектинован - взять к примеру помойку под названием "node_modules" где даже разбиения по версиям нет.
> Язык плохой (https://www.google.com/search?q=javascript+criticism)По любому языку можно сделать такой же запрос.
> стандартной кросс-платформенной библиотеки уровня ОС у него нет (типа stdlib джавы, stdlib раста, stdlib питона и так далее)
У самого языка (всмысле ecmascript) есть минимальный набор (математические функции, интернационализация (intl), структуры данных (map, set, weakmap) и т.п.). У nodejs есть API уровня ОС: для работы с fs, процессами и т.п.). Все остальное преполагается брать из стороннего кода. У приведенных языков это также актуально.
> никаких преимуществ вроде эффективности потребления ресурсов по сравнению с другими скриптовыми языками у него нет
Ну java и rust не скриптовые. v8 уделывает python по проивзодительности из-за jit.
> при этом другие языки выигрывают просто потому, что они другие - тупо лучше спроектированы
Опять таки голословное утверждение - в чем лучше? Js сейчас точно также как и многие другие языки развивается итерационно с большим количеством обсуждений предлагаемых фич.
> Это косая, корявая поделка выросшая из динамического разворачивания менюшек на веб-страницах. Популярный он ровно по одной причине - едет верхом на популярности самого веба. А то, что на вебе именно он - чисто исторически сложилось. Никто там лучший язык не выбирал, просто фиганули что было без задней мысли, типа для менюшек сойдёт, а потом было поздно.
> Работает? Да, работает. В его развитие вбухали столько денег, что подумать страшно. Но выглядит это как если бы взяли калеку с дефектами развития мозга и кинули все ресурсы планеты что бы быстренько из него сделать президента галактики - он всё равно тупой и убогий, но бабки тащат кое-как, потому что деваться некуда.Много хейта без конструктивной критики.
> Будущего у него нет. Будущее веба - это wasm. А в него будут компилировать из нормальных языков.
wasm прежде всего нужен, чтобы портировать в браузер уже написанный код, который нет смысла/невозможно переписать на js. Например, чтобы запустить unity игру в браузере.
> Собственно asm.js, а потом и wasm (и в том числе typescript) придумали и разработали именно потому, что люди понимают что с этим говном будущего нет
typescript компилируется в js почти один в один с вырезантем типов. Причем тут wasm? Притом что в wasm пока нет gc.
> Технология только сама очень убогая, но бабки как я уже сказал тащат.
То есть открывая в браузере google maps и видя карту в 3d - это убогость?
> PS. И так называемая экосистема тоже плохая. То есть она богатая, но она богатая как индийская река заразой. К сожалению (хотя это закономерно), в жаваскриптовой среде довольно низкий уровень software engineering. Простейший пример: ты собираешь некий проект через npm, а он пытается на винде вызывать несуществующие программы, которые явно под линукс заточены. В жавовской экосистеме к примеру такое вообще немыслимо - там весь код будет написан на жаве и автоматически кросс-платформенно. Да и сам npm довольно убого спроектинован - взять к примеру помойку под названием "node_modules" где даже разбиения по версиям нет.
В npm как и в cargo или pipy много модулей низкого качества. Возможно стоит проверять код, прежде чем добавлять его в зависимости своего проекта. Это вообще не зависит от языка.
> По любому языку можно сделать такой же запрос.Смысл же не в запросе а в том, что бы ознакомиться с критикой выданной по запросу. Читал?
> typescript компилируется в js почти один в один с вырезантем типов. Причем тут wasm?
Wasm не при чём. Typescript при том, что javascript - плохой язык, поэтому Typescript.
> То есть открывая в браузере google maps и видя карту в 3d - это убогость?
Это фичи браузера, а не языка Javascript. Очевидно, что если бы внутри браузеров были другие языки, то все эти сервисы могли бы быть написаны на других.
Стопудов, браузер - как мега-тулкит на API которого можно очень много чего сделать - это круто. JS только тут никаким боком.
> В npm как и в cargo или pipy много модулей низкого качества.
Однако практически никакому джаверу не придёт в голову при сборке проекта вызвать "python2". Максимум - запустят интерпретатор питона внутри самой JVM, то есть в режиме embedded. А в нпм - этого дофига, там просто очень много людей с низким уровнем SE.
> Это вообще не зависит от языка.
Так речь не про язык, а про экосистему, качество которой определяется культурой программирования пользователей языка. Это как бы не вина языка, но тоже важная часть проблемы.
Я тоже имел репутацию "профи" в конторе. А в другой конторе мне сказали, что я г*вно) Пришлось подниматься с нуля...
Надо же, респект автору, в этот раз PDF не обфусцированы, работает поиск и можно выкопипастивать текст. В прошлый раз (1ое издание) было обфусцировано в ноль.
Врёшь. Первый том обфусцирован, копируется мусор.
Два других тоже обфусцированы, копирование не работает, поиск не работает, оглавление без гиперссылок.
пля... ах он №*;?*, только лицуху не обфусцировал в начале :)
Что лишний раз доказывает, что обфусцирует намеренно, а не из-за плохого знания TeX-а :)
> только лицуху не обфусцировал в начале :)тонко !
подскажите книгу по Си, где описано программирование псевдографикой для ДОС режима, а то я всё перерыл ничего не нашёл
А тебя не смущает что язык СИ для терминалов UNIX разрабатывался а не для DOS?
в UNIX почти такой же текстовой режим, хотя в ДОСе, наверное, я думаю в основном рисовали псевдографикой окна и т.п. на Турбо-Паскале
https://media1.tenor.com/images/3777d320dc0332e1d4b4e8f3dbc2...
Ммм... Я думаю, ты зря ищешь книжку по C. Надо искать книжки по ассемблеру, а C уж прикладывать как захочешь. Был, кажется, Финогенов, у него справочники по всяким DOS/BIOS прерываниям были, плюс описания всякие. Был Зубков, с его программированием на ассемблере. Юров, или типа того, но я не читал. Или начни отсюда: https://en.wikipedia.org/wiki/VGA_text_mode Тут не описаны прерывания биоса, для управления видеокартой, но опять же вбиваешь bios interrupt vga в гугле и ищешь.И да, тебе надо вообще браться исходно за программирование под DOS, чтобы все эти нюансы сегментной адресации, прерываний, и пр. были бы плотно усвоены. Иначе сложно говорить о чём-то. И это программирование надо сразу смотреть на асме, потому что все эти паскали и C в досе только под ногами путаются и мешают понимать. Когда понял что к чему, можно и на C с асм-вставками.
собственно говоря, вот что я хочу - хочу как у Макса написать прогу, чтобы часть текстовой информации была статична, а другая динамичная. Судя по фрагменту исходного кода, Макс писал на Си
https://youtu.be/ix2NEqVtKmk?t=5657
Я подозреваю, что он там использует borlandc'шную библиотечку conio.h. gotoxy, cprintf, highvideo, cprintf -- это кажется оттуда. Запусти borlandc, нажми f1, и найди там conio.h, там все функции документированы довольно понятно.
Спасибо!
Какая на хрен псевдографика? Находишь адрес буфера кадров и пишешь в него байты. 0x800, если верно помню.
0xb800:0000 по-дефолту.
окна в текстовом режиме нарисовны разве не псевдографикой? например, setup в играх Doom, Duke Nukem 3D и т.п.
> окна в текстовом режиме нарисовны разве не псевдографикой? например, setup в играх
> Doom, Duke Nukem 3D и т.п.Псевдографикой. Расчехлил borlandc, и вот это вот выводит 10 строк восклицательных знаков:
struct VChar {
char ch;
unsigned char attr;
};int main() {
struct VChar far *p = (struct VChar far*)0xb8000000;
int i;
for(i = 0; i < 10 * 80; i ++) {
p[i].ch = '!';
}
}
> окна в текстовом режиме нарисовны разве не псевдографикой? например, setup в играх
> Doom, Duke Nukem 3D и т.п.http://www.ctyme.com/intr/rb-0069.htm
переключаешь в текстовый режим №3, нулевая страница
;set video out=80x25, 16 colors, page 0
;*******************************mov ax,3
int 10hmov ax, 500h ;0 page
int 10h
;remove cursor
mov ax,0103h
mov cx,001000000000000b ;bit 6,5=01=>invisible
int 10h
пишешь в память -- 1 байт на ascii, 1 байт -- цвет (4 бита на цвет переднего плана, 3 на заднего ... или наоборот, не помню, можешь подсмотреть тут[0][1], плюс 1 бит на "моргание"), копируешь в видеобуффер (0xB800:0000).
Экран получается 80*2 байта = 160 на строку * 25 = 4000 байт/2000 знаков -- "рисуй, не хочу".В принципе, есть 3 стратегии - писать в отдельную область памяти и копировать в 0xB800 или переменно писать в 0 (0xb800:0000) и первую страницы (video_buff_addr + 4096) и переключать между ними. Ну или использовать фунции BIOS для вывода, но это и геморнее и медленнее.
Собственно, ничего сложного в рисовании нет, повозиться придется с логикой окон и перерисовыванием изменившихся частей экрана, все то, что делал BGI (Borland Graphics Interface).
Но на современном (т.е. все еще живом, подерживающим эти режимы в виде эмуляции) железе или виртуалке огрехи в перформансе будут незаметны, хоть рисуй все "в лоб", сразу в видео память (т.к. железки тупо на пару порядков мощнее "предков" начала 90х).Если неохота изобретать колесо (хотя непонятно, зачем тогда вообще возиться с ЭТИМ), то можно поискать свободные либы для рисования.
https://github.com/jharg93/SvgaBGI
http://www.knightsoftware.net/ksweb.html#BGI256
http://ftp.lip6.fr/pub/pc/garbo/pc/bgidriv/
(Заодно и компилятор с поддержкой 16-бит real mode присмотреть ;) )0. https://en.wikipedia.org/wiki/VGA_text_mode
1. https://wiki.osdev.org/Printing_To_Screen
Спасибо, но я на ассемблере не умею
> Спасибо, но я на ассемблере не умеюЕго и не надо особо уметь - по ссылкам (на OS Dev) си.
Но "интефейс" BIOS/DOS -- это interrupts, там только так. Как минимум выше приведенная инициализация.
Или использовать обвязку-бибилиотеку.
Ну или просто писать в память -- в отличие от реального железа, в эмуляторах заморочек с инициализацией, по идее, быть не должно и режим 80x25 ЕМНИП, дефолтный.ЗЫ:
Если цель просто "написать похожее", но для запуска в современной ОС, то тут смотреть в сторону ncurses (или похожих/альтернатив).
Что бы "уметь" на ассмеблере, да еще и под DOS и псевдографику, найдите книгу Олега Клашникова - "Ассемблер - это просто. Учимся программировать". Там Вы найдете то, о чем тут спрашивали.
но я хотел сделать на Си, ведь как я приводил в пример видео Макса - он сделал на Си
Автору респект за труд
Удачи найти работу всем прочитавшим :)
Иногда программирование это просто хобби (грамотность 21 века)
Не забываем мне донатить, господа.
Господин задонатил
Отдонатил обратно
Надонатил однако.
А мне задонишь? У меня скоро днюха... ^_^
> Подавляющее большинство «современных программистов» реально не видит принципиальной разницы между Си++ и, к примеру, тем же Питоном или Джавой, а все «новые технологии» (включая и новые «стандарты») предпочитают встречать с каким-то нездоровым восторгом, полностью отключив способности к критическому мышлению. К счастью, кроме этого большинства, существует так же и меньшинство, думать пока не разучившееся, в противном случае мировая IT-индустрия, скорее всего, уже давно перестала бы приносить какую-то пользу.Хахахахх, лол. Старпёрский учебник для старпёрского опеннета. Стопудов, каждый опеннетовец должен прочитать, почесать своё ЧСВ способностью к критическому мышлению, и отсутствием нездоровых восторгов.
>http://www.stolyarov.info/books/programming_intro/e2
>http://
>www.stolyarov.info, а не GitHub.com
>pascalНе нужно.
Вообще нужно различать "профессию" и программирование.
Программирование - это про git, hg, CMake, GitHub, GitLab, CLang, GCC, gdb, LLVM, Qt Creator, Language Server Protocol, pip, cargo, PVS Studio, Visual Studio, инструменты от Jet Brains, IL Spy, ReSharper, Telerik Fiddler, mitmproxy, gdb, IDA Pro, Retdec. Тут книг не было, нет, и не будет, навыки сугубо практические и устаревают моментально. Единственное, что тут имеет смысл читать - это документацию, чужой код и посты в блогах.
Информатика - это про системы счисления, теорию информации, теорию сложности, теорию графов, структуры данных, алгоритмы, криптографию, основы архитектуры и основы сетей. Самая полезная книга для новичка, скорее всего - это David & Sarah Harris, Digital Design and Computer Architecture (есть лицензионный и доступный без взимания платы перевод на русский). По сетям не могу ничего посоветовать, читал только Хабр, блоги, статьи в инете и сайты всяких цисок с доками. Ещё могу посоветовать руководство по/анализ модели угроз SGX с ArXiv, там лучшее краткое изложение всей архитектуры компьютера, что я видел.
Ещё есть управление сложностью кода. Тут банда 4х и Роберт Мартин.
Это три кита программирования.
Для системщика: вообще абсолютно бездонная и очень хреново документированная тема, как на низком уровне работает и взаимодействует между собой всякое дерьмо. Одна книжка по UEFI (Beyond BIOS) дофига страниц занимает.
>>> Самая полезная книга для новичка, скорее всего - это David & Sarah Harris, Digital Design and Computer Architectureетого анонима покусал Панчул
Кто такой? Чем знаменит?
Лютой жопоболью у либералов, не бывавших в Америке. Потому что хорошо зарабатывает в США и хвалит СССР :)
> Лютой жопоболью у либералов, не бывавших в Америке. Потому что хорошо зарабатывает
> в США и хвалит СССР :)"Вот такие они, рюйске патриоты - даже похоронены быть желают в США" (c)
Удобно хвалить СССР, хорошо зарабатывая в США.
По сетям у Танненбаума была книга, вроде норм
Кстати Танненбаума забыл, книга про операционки. По сетям не читал пока что.
> Кстати Танненбаума забыл, книга про операционки.Что она даёт помимо понимания превосходства микроядерной архитектуры над объективной реальностью, данной нам в ощущениях?
Она вообще не о микроядерной архитектуре. Она о таких азах, как прерывания по таймеру и планирование.
> Она вообще не о микроядерной архитектуре.Но эксперты Опеннета регулярно апеллируют к упомянутой книге в данном контексте.
> Она о таких азах, как прерывания
> по таймеру и планирование.Прерывания и таймер, внезапно, ортогональны (согласно 3-му тому Intel SDM, например).
судя по тому, что ты несешь, ты и есть типичный иксперт опеннета
Вот эти строки:This function affects a global Windows setting. Windows uses the lowest value (that is, highest resolution) requested by any process. Setting a higher resolution can improve the accuracy of time-out intervals in wait functions.
я таки, разложив ISR и соответствующий граф вызовов по полочкам, донёс в официальную документацию по timeBeginPeriod(), вот сюда: https://docs.microsoft.com/en-us/windows/win32/api/timeapi/n...
не смотря на компетентные мнения, что Микрософт всё поменяет.
А что и куда принёс Аноним? Уж не chromium.spec от SUSE в Rosa Tresh?
> Тут банда 4х и Роберт Мартинясно. Вот и выросло поколение, неспособное даже на элементарный инженеринг.
>>http://www.stolyarov.info/books/programming_intro/e2
> Не нужно....
> Единственное, что тут имеет
> смысл читать - это документацию, чужой код и посты в блогах.Осталось понять, чем посты в блогах отличаются от книжки в блоге. Неужели отсутствием обфускации и возможностью копирования?)
> Осталось понять, чем посты в блогах отличаются от книжки в блоге. Неужелитем что это записки на манжетах а не систематизированное знание. Причем, как правило, делаемые мелом.
Но там у того знактока бложиков дальше Танненбаум систематизировал знания про подпрограммы обработчиков прерываний и объяснил, почему среди исходников финского студента появился файлик NO_HZ.txt, где мелом написано что-то про "old-school approach". А вот Столяров не систематизировал. Нет ли здесь антисемизму?
>PVS Studio, Visual StudioПоделие лысого и корпорации Зла не является программированием.
А книга Выведение из профессии есть?
Карнеги "Как перестать программировать и начать жить". :)
"Программирование: Вон из профессии"
нет. никто не будет свои хлебные места раскрывать.
> нет. никто не будет свои хлебные места раскрывать.Фильму "Счастливые люди" уже семь лет. Все места раскрыты (правда, владельцы ходят с ружьями, так что тебе не светит).
Только вот померла с тех пор половина тех "щисливчиков", в свои 30 выглядящих на 70. Так что - мож, лучше кодить?
>> нет. никто не будет свои хлебные места раскрывать.
> Фильму "Счастливые люди" уже семь лет.дауншифтинг для лохов.
выходить из профессии нужно так,чтобы повышать свои статы по доходу, власти, собственности и статусу. иначе не выгодно.PS: судя по https://www.amic.ru/news/207838/ в фильме многое наврано, начиная с названия. проверю лично как будет время.
Херцог?! Ни...жесебе.
Впрочем, я, наверное, не хочу это увидеть.Ничего там особо не наврано - хотя конечно ощущения фильм передать не может, пусть хоть сам Херцог его перемонтировал. Просто щастьем и не пахнет. Тяжелый, непростой, бесконечный труд в отвратительном климате. И ранняя смерть из-за недоступной медицины. Вот и все щщастье, если сдуру туризм с эмиграцией перепутаешь. Привыкнуть можно, но ну его нафиг.
Ну и за кадром тот занятный факт, что тайга она не ничейная, она вся чья-то и сто лет как поделена, пришлым там места нет, своим на прокорм еле-еле хватает.
> выходить из профессии нужно так,чтобы повышать свои статы по доходу, власти, собственности и
> статусу. иначе не выгодно.если ты это можешь - тебе и заходить было незачем.
> тайга она не ничейнаяда и тундра не ничейная. постоянно местные с нефтегазов вымогают, а те их гоняют.
иногда слухи об этом выходят наружу.> тебе и заходить было незачем.
ты поумнее не смог придумать контраргумента ?
я заходил в профессию для того же самого,тогда "программист" было очень престижно.
но надо двигаться дальше.
> да и тундра не ничейнаяс тундрой попроще - она настолько для жизни непригодна, что если ты не нефтегаз который сотни квадратных километров умеет загадить, найдешь себе место жить недолго, херово и сдохнуть.
>> тебе и заходить было незачем.
> ты поумнее не смог придумать контраргумента ?я на самом деле не понимаю, зачем ты это делал, если можешь прокормиться более нажористым способом.
> я заходил в профессию для того же самого,тогда "программист" было очень престижно.
году в 80м? Да не, и тогда так себе было... уровень лишь чуть получше инженера.
> но надо двигаться дальше.
в менеджеры по продажам, как тот разработчик из Cisco? Удачи!
>>> нет. никто не будет свои хлебные места раскрывать.
>> Фильму "Счастливые люди" уже семь лет.
> дауншифтинг для лохов.
> выходить из профессии нужно так,чтобы повышать свои статы по доходу, власти, собственности
> и статусу. иначе не выгодно.
> PS: судя по https://www.amic.ru/news/207838/ в фильме многое наврано, начиная с названия.
> проверю лично как будет время.На сайт весьма специфичный, конечно, ссылаетесь
а где-то в интернетах есть сайты НЕ-СПЕЦИФИЧЕСКИЕ ?
типовых каталоги-линкопомойки потеряли смысл.
Книга довольно странная. Букв очень много. Кому адресована непонятно.
Современное состояние отрасли давно требует узкой специализации как минимум по -12 направлениям. И соотвественно разным направлениям требуется очень различный набор знаний. С учётом того, что срок жизни технологий довольно короток, получается, что фундаментальная и неустаревающая часть знаний, которой возможно научить специалистов за очень органиченное время может быть очень небольшой по объёму. Поэтому книги объёмом более сотни страниц и без определённой темы вряд ли могут принести какую-то пользу.
Действительно компьютеры еще несколько лет назад были аналоговые с логарифмами, сейчас все на двоичной арифметике, а в будущем году все перейдут на квантовые кубиты. Только вот будет верно если, год не земной, а какого нибудь плутона.
Автор написал много страниц на тему что такое компьютер. Но ясного определния я так и не нашёл. И вот вопрос. Логарифимическая линейка и арифмометр -это уже компьютер ещё нет? А смартофон или планшет? Почему когда говорится о программировании, то имеется в виду только компьютеры? Что же касается о сроке жизни технологий, то тут речь идёт совсем не о плутонианских годах, а увы о земных. В большинстве случаев ваши сегдняшние знания существенно усохнут лет через 5-10. И хотя есть отдельные консервативные области, где темпы устаривания несколько медленее, но их немного.
Смартфон и планшет - это тоже компьютеры.
Какая то не безопасная книга, надо её на раст, питон, джабаскрипт и го переписать
Ну кстати книга в виде веб-приложения это стопудов лучше, чем пдф. ПДФ - худший из известных мне форматов для чтения с экрана.
Для чтения с микроскопического экрана (мобильной лопаты) - да. :)
Столяров не уважает Столлмана?
Почему ты так решил? Пруфца бы...
1. У него в книге интересное предложение: "Изначально, с подачи Столлмана" Линус выбрал лицензию для своего ядра GPL. Такое впечатление будто Линуса с истинного БЗДуно-пермиссивного пути сбил именно Столлман.2. На его сайте, в разделе "вопросов и ответов" один тролль-провокатор мастерски обвинил Столярова на всю голову "столлманутым". На что Столяров сказал, вернее оправдывался, что относится к Столлману уже не так положительно, потому-что Столлман порицает пиратство.
3. На ЛОРе несколько лет назад на вопрос, почему он не выложил книгу с копилефтной лицензией. Он вроде говорил, что GPL не для его работ.
Я думаю Столяров по духу "академик-пермиссивщик". Он тщеславен. Здоровое тщславие для учёного, я думаю хорошее качество.
>>>Я думаю Столяров по духу "академик-пермиссивщик". Он тщеславен. Здоровое тщславие для учёного, я думаю хорошее качество.я думаю, ему хочется денег и славы. ну или славы и денег, как получится.
>Столяров не уважает Столлмана?А кто его уважает-то? 😂
Абучять спицилиздов нивазможна, эта сложна, нада палачками праграмиравать ,прабелами и тагда сайт абнавить за три капейки будет стаять очиреть.
http://www.stolyarov.info/node/180И эти люди учат нас жить и чем пользоваться
В другом месте он пишет, что восстанавливал содержимое своего же сайта по кэшам поисковых систем и веб-архивам. Если надо, пруфлинк найду
> http://www.stolyarov.info/node/180
> И эти люди учат нас жить и чем пользоватьсяЭти люди программированию учат, а не др-чке на сайты.
Если один из десятка моих сайтов сейчас сдохнет - я его вообще не буду восстанавливать. У меня на эту возню нет ни сил, ни времени.
Книжка у него, полагаю, и бэкапается, и архивируется - потому что это работа и образ жизни. А сайт - мелкое приложение к, не стоящее существенной потери времени.
Хотя, конечно, про вебархив это сильно - от любителя все обфусцировать-то, чтоб не копировали, хады.
Конечно, сайт мелочь, но у него процесс выхода (в том числе и написание, по-видимому) книги привязан к сбору средств на нем.
Вот интересно еще, на чем сайт написан, неужели на си или паскале, прости господи
> Вот интересно еще, на чем сайт написан, неужели на си или паскале,
> прости господидай угадаю - static html ;-) Иначе хрен бы ему тот вебархив чем помог.
хотя когда-то очень давно было модно и на tcl, кажись, автор одобряе. Впрочем, в основном этим tcl генерилась статика, эпоха динамических сайтов наступила лет на пять-семь позднее.
>> Вот интересно еще, на чем сайт написан, неужели на си или паскале,
>> прости господи
> дай угадаю - static html ;-) Иначе хрен бы ему тот вебархив
> чем помог.Точно, я уж позабыл, что один товарищ на голом Си целый фреймворк написал не так давно для генерации статики, чтобы "проект" питался от солнечных батарей (но даунтайм все равно впечатляет, хоть и арм со статикой)
> хотя когда-то очень давно было модно и на tcl, кажись, автор одобряе.
> Впрочем, в основном этим tcl генерилась статика, эпоха динамических сайтов наступила
> лет на пять-семь позднее.О, не знал, интересно. "Великие вехи стали забывать" (с)))
то он еще не оценил, как его пупука всполыхнет скажем после выхода на амозоне перевода на аглицкий. про который он будет знать ничего.судя по первым пяти главам, там переводить есть что.
Второе издание приблизилось к нумерологии -- каждый том ровно по 707 страниц.
Надо было чтобы каждый том имел 666 страниц.
Автор объяснял, почему так. Это связано с типографскими технологиями. ЕМНИП, там только тетрадями по 16 страниц в книгу можно добавлять. Для некоторых томов у него получалось несколько больше материала, но на 16 страниц сверху не хватало и поэтому он ужался до 704. Ну и из четырёхтомного первого издания изначально делал трёхтомник, перетасовывая материал так, чтобы вышли три тома примерно равного размера.
> введение в профессиюС какого кругом прафесия ? Нарот ! Надо демпить шоп хирней ни занимались всякие.
Введение.
Есть и такая профессия.
> Введение.
> Есть и такая профессия.Харон вспомнился
Прочитал около двухсот страниц первого тома второго издания, пропуская отдельные места. Смешанные впечатления.С одной стороны, большой охват материала и правильно поставленные вопросы — очень хорошо. Первый, по меньшей мере, том получается не учебником «по программированию», но учебником по информатике. Однозначно плюс.
Но вопросы таковы (особенно связанные с математикой), что краткого их освещения недостаточно. Если читатель новичок и не изучал ранее или не изучает параллельно соответствующие математические дисциплины, то целый важный, даже важнейший раздел, затрагивающий вычислимость и алгоритмы, понятен, возможно, не будет. Столяров, наверное, считает, что читателями будут исключительно его студенты? А вдруг захочет почитать гуманитарий-виндузятник? ;)
С другой стороны, порча текста в макете — зло. У автора три с половиной десятка студентов, а читателей потенциально десятки тысяч. Ради того, чтобы подосpать нескольким студентам, он подосpал всем. Фу таким быть.
Порченный текст поддаётся обратному перекодированию, но технические подробности я опущу.
Язык книги, на мой взгляд, требует улучшения. Предложения у автора обычно слишком затянутые и сложные по структуре; много словесного мусора, без которого можно обойтись.
Ещё один пункт критики — сектантская упоротость Столярова. В учебнике, мне кажется, такого быть не должно. И жаргонизмов быть не должно.
Скорее он просто не тратит время на "гуманитариев-виндузятников", т.к. всё равно нихрена не получится, а если и получится, то для них не станет помехой разобраться во всём самостоятельно.
Вот то что он текст испортил - это уже шиза конечно), просто невозможно искать по поиску запоминающиеся важные или просто интересные моменты. Это к вопросу о сектантстве. В общем с одной стороны издержки авторского проекта, с другой - надоели уже формально академическая литература, причём ладно когда в академическом стиле пишет настоящий профессионал - это нормально и правильно, но когда в академическом стиле пишет дилетант (а такое довольно часто бывает чтобы набить себе цену) - это уже невозможно читать. Я бы не назвала Столярова профессионалом в CS, но его видение индустрии свою ценность всё же представляет. Я бы не хотела у него учиться или даже с ним о чём-то спорить или общаться, но почитать его книги - почему бы и нет?