All streams
Search
Write a publication
Pull to refresh
0
@MacInread⁠-⁠only

User

Send message
Шикарно, спасибо. FASM хорош.
Действительно, в NC5 тоже так.
если в NodeJS то пишешь свой модуль на C++ и что хочешь вызывай.

Ну, это уже то же что и «хочешь http в c++ — пиши свой модуль и вызывай», так что несчитово.
Спасибо, что подытожили.

Как и ожидалось, в общем: либо специализированные языки (PHP), либо небольшое количество универсальных (Шарп и др).
Ничего такого, что позволяет кидаться фразами вида «в современных языках это делается в 3 строки» как аксиомами.
Или может быть в других языках нет операций взятия адреса или спецификатора const?

Не во всех есть. В том же Бейсике нет. В паскале не помню, есть ли const.

о все сразу думают про школу/институт/первый язык программирования?

Потому что изначально в статье речь шла о новичках «в общем», а не «новчиках в С++».
Допустим, копируется самая верхняя папка и курсоры с обеих сторон наверху изначально.
И судя по RTL, она не ассемблерная.
тормозить при переносе окна не будет.

Отсечение, нет необходимости в прорироске закрытых участков? А с прозрачными, надо все просчитывать и все прорисовывать?
Паскаль хорош для обучения императивному подходу, классика.

Это нормально — подоходов много, императивное используется повсюду, почему бы не начать изучение с него (это наиболее соответствует естественному восприятию алгоритма как набора шагов), а потом перейти к Object Pascal и ООП?

Но после этой классики у нас только 3 из 50 въехали в функциональное и логическое программирование без особых проблем, у остальных были крайние непонятки

Потому что что функциональное, что логическое программирование неестественны.
Мы живем во вселенной, где время движется в одном направлении. Сначала я беру ручку, потом снимаю колпачок, потом пишу. Сначала я объявляю переменную, потом ее использую.
А в логическом, мин пардон, или функциональном, нет «времени», это неестественный для человека метод. Так что ничего удивительного в том, что понимать эти 2 принципа тяжело.
Отлично, посмотрим, сколько языков из более-менее современных (эпоха http) имеют в стандартной библиотеке работу с http. И сколько таких языков вообще, а потом посмотрим долю.
const — гарантия неизменения состояния объекта
& — работа непосредственно с передаваемым экземпляром, без копирования


А зачем это знать при начальном обучении? Старый, прости господи, фортран, передавал все переменные по ссылке, так что они сквозные в каждой процедуре. Это позволяет (сама концепция, не язык) объяснять принципы программировани без размена на детали.
Вот потом уже можно рассуждать о том, вот при таком-то неудачном использовании можно случайно поменять этот объект, а чтобы такого не было, защитим его const'ом.

Со ссылками и указателями аналогично — это детали низкого уровня. (еще отличия от передачи по ссылке и указателю кроме синтаксиса) Что проще новичку:

abc(a, b)

a = b + 3

или объяснение про передачу с использованием указателя и почему мы не можем поменять a напрямую, если нам надо?
Так то регистровый файл, а человек выше говорит именно о регистре.
Просто разные абстракции.

Кто-то использует понятие «файл» как «отдельный документ», хотя file — вполне себе «дело», папка. Т.е. у кого-то папка с бумагами, а у кого-то шкаф с делами.
В какой-то книге видел абстракцию: ящик с бутылками. Представьте себе «копирую я этот ящик на другой диск, а там только три бутылки, четвертая не скопировалась. А у третьей этикетка искажена».
если мне не изменяет память размером что-то около 750 Кб.

Зависит от версии и утилит. Около 300кб в пятой версии если по-минимуму брать. Это учитывая, что пятый собран на RTL, Си, судя по всему.
GDI-то ладно, это понятно. Почему не обработалось сообщение о CAD? Хотя Task Manager тоже handle'ы требует — может и обработалось, просто среагировать нечем. Но отсутствие возможности прибить процесс, съевший ресурсы GDI — это странно.
Порядок изучения должен быть таким:

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

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

Да, функция вида «получить файл по адресу в строку» наверняка где-то реализована и вызывается тоже в одну строчку. При помощи той же WinHTTP если речь о Win32, реализуется просто. То, что автор не стал искать такую библиотеку — другой вопрос. Это вопрос «поколений» — возможно, он хотел сказать, что, мол, даже такая сложная (по его мнению) задача как вот эта реализуется так просто. Считать работу с HTTP тривиальной, простой или сложной задачей можно по-разному, в зависимости от основной сферы деятельности. Если, например, кто-то в основном занимается разработкой под микроконтроллеры, и для него работа с HTTP — ручная, сложная вещь, то демонстрация С. будет восприниматься именно как «ого, действительно просто». Например, просто за счет использования класса строк вместо работы со строками в С стиле.
Даже если мы создадим язык, в котором операция «получить файл, пройтись регэкспом и выдать массив» будет встроенной, т.е. реализация займет одну строку, это ничего не докажет. Это специфическая задача и ничего не показывает об универсальном языке программирования, под специфическую задачу не заточенном.

Это — не стандартная задача.
Приведённый код на C более длинный, но он примитивный, состоит из простых кирпичиков. Объяснить его гораздо проще. Примитивную реализацию strlen и strcpy даже показать можно. Никакой магии. То есть если припрёт обучать относительно низкоуровневому коду, но С как раз подходит лучше.


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

Ну и где доказательство надёжности для опровержения мифа?

Само понятие, критерий надежности, автором не определено, так что доказательство/спор бессмысленны.
Задача действительно простая, 60 строк — немного. Что не так?

Information

Rating
Does not participate
Registered
Activity