Обновить
64

Programmer

1,4
Рейтинг
105
Подписчики
Отправить сообщение

Для начинающих книг полно. А для тех кто уже давно в теме что - "курите стандарт"? :) Вот правда, хотелось бы хоть одну книгу по самым современным новшествам С++ типа constexpr/consteval/constinit, по зубо-мозго-дробительнейшим шаблонам, по наиболее сложным библиотекам Boost и всякому такому...

Я начал с разработки собственного языка, но это постепенно превратилось в написание книги-исследования по языкам и парадигамам программирования в целом. Анализ и сравнение решений в разных языках, изучение и проектирование всяких сложных экзотических возможностей и т.д.)) Получилось что-то вроде хобби для души, и совсем не факт что это выльется в написание компилятора, но если что - за основу будет взят компилятор языка D, что мне там понравилось - так это то, что все написано на достаточно прозрачном С/С++, без использования кодогенерирующих инструментов (lex, yacc и т.п.), и парсер сделан интуитивно понятно рекурсивным спуском. Можно пройтись по шагам в отладчике и посмотреть что как работает.

P.S. Удивился почему в статье картинки с гиперссылками, вроде в статьях есть же таблицы. А вот в комментариях почему-то нет((

Ну вот в табличном плагине zim'а даже чтобы просто войти в редактирование таблицы нужно сначала щелкнуть по ячейке, затем еще раз щелкнуть для входа в редактирование, и только затем отредактировать. Редактирование таблиц в режиме editable браузера сразу позволяет редактировать ячейку.

NF4 это какая-то хитрая разновидность формата с фиксированной запятой? Судя по числам, там разные расстояния между соседними числами в положительной и отрицательной областях. Это кстати оправдано?

А вот недостатки zim:

  • невозможность задать порядок заметок в нодах (приходится использовать костыли вроде номера в начале имени, и вручную перенумеровывать если потребовалось изменить порядок). Автоматическая алфавитная сортировка не всегда нужна, иногда трубуется явно задаваемый порядок

  • отсутствие встроенных таблиц (какой-то плагин есть, но выглядит это ужасно, работает еще ужаснее - за эталон я беру таблицы в MS Word)

  • (это может быть как достоинством, так и недостатком) - имя заметки и имя файла это одно и то же; иногда это удобно, а иногда нет

  • нет нормальных табов, вместо них есть "pathbar", в котором отображается история последних открытых документов, которая сама перестраивается, что порой сбивает с толку (есть и другие варианты работы pathbar, но классических табов все равно нет)

  • бедноватый набор разметочных тегов; например нет тега для кода, что для программиста весьма критично

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

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

Во-вторых, единый файл для хранения всей базы плохо сочетается с синхронизацией через сеть. Гонять туда-сюда всю базу при изменении одной заметки - плохо. Каждая заметка должна храниться в своем отдельном файле.

Было еще что-то, уже и не помню.

В итоге я пользовался evernote, wiznote, zim, еще чем-то, и в конце концов написал свой аутлайнер. В основе - html для заметки + xml для данных ноды (но в действительности вполне можно было обойтись только html, использовать <head> для хранения данных о дочерних нодах).

Есть еще XnView и XnViewMP, очень хорошие бесплатные вьюеры, тоже с некоторыми функциями редактирования (обрезка, цветокоррекция, конвертирование, пакетные операции, правка EXIF и т.п.).

Что такое "Modulas" и "модули первого класса"?

До сих пор обхожусь всякими бесплатными расширениями для браузера, плюс на крайний случай еще пара бесплатных VPS-контейнеров, к которым можно сделать ssh туннель (один из которых - оракловский - буквально пару дней назад накрылся таки). Но вообще уже подумываю, не придется ли покупать VPS именно у зарубежной компании, чтоб наверняка. И разбираться понемногу со всякими туннельными технологиями, более продвинутыми чем VPN (пока только статьи с Хабра скачиваю на всякий случай). Не знаю, как сейчас обстоят дела с оплатой зарубеж, это же не алиэкспресс все-же, а "недружественные" страны.

Кстати, а как Хабр планирует показывать статьи с ограничением по геолокации? Хотя-бы заголовок статьи будет в общем списке? Или хотя-бы плашка какая-то, типа "статья недоступна в вашем регионе" (увидел - зашел через прокси - прочитал и скачал). Просто, если совсем ничего не будет, то нужно будет или постоянно сидеть на хабре через прокси, или периодически как-то сравнивать списки опубликованных статей, что создает дополнительные сложности)

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

Вот это уже интересная тема. Переход от лигнвистических моделей к семантическим определенно должен дать интересные результаты.

Интересно, а как именно обучают такие нейросети? Скачивают кучу картинок из инета и к каждой ручками какие-то люди из бедных стран добавляют описание? Сколько нужно изображений? Насколько подробным должно быть описание? Достаточно ли набора тегов?

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

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

Спасибо огромное, наконец-то лично попробовал что это такое - AI генерация изображений))

Я когда-то давно очень хотел чтобы в вот таких стационарных телефонах (кнопочных, с АОНом и прочими фичами) была интеграция с компьютером, прежде всего два 3.5" гнезда для подключения к звуковой карте. Чтобы можно было записывать разговоры и подавать свой звук с компа в линию. Даже писал на форумы разработчиков:) Но эту фичу так и не сделали.

Неожиданно как-то... и чем-то напоминает историю со Стивом Джобсом, которого тожэе в свое время выгнали из Apple

Интересно, а зачем с точки зрения дизайна языка вообще ввели отдельно null и отдельно undefined? Не проще ли было обойтись каким-то одним? Для реализации абстракции опционалов вполне достаточно одного.

В этом есть какой-то глубокий (основанный на какой-то умной околоматематической теории) смысл, или просто так сложилось/не сложилось?

А как думаете, мог бы формат TeX  быть взят за основу для веб-страниц вместо html? Был бы в этом случае веб лучше или хуже чем сейчас?

Не, не секреты. Проекты простейшие. Там именно что-то с работой gradle и его файлами. И даже было такое, что компилятор или какой-то другой инструмент сборки падал на каких-то файлах (Execution failed for task ':app:processDebugMainManifest'), при этом AndroidStudio выдавала подсказки что нужно исправить. Вообще все это создает впечатление полнейшей несогласованности набора инструментов. Даже вот пункты меню типа "Sync project with Gradle files" - это вообще что? Правая рука не знает что делает левая?
Сама АндроидСтудия как IDE - просто отличная, никаких нареканий; но им бы открутить все эти сборочные поделия и написать полностью свою интегрированную в IDE инфраструктуру сборки проектов, в идеале основанную на простых "файлах проектов" (xml как в Visual Studio) без всякой императивщины (да, я считаю что любые активные скрипты в файле проекта - зло, и в 99% не нужны, достаточно просто списка файлов исходников и перечня опций компилятора, а там где нужны, должны быть огорожены специальными тегами наподобие prebuild_action / postbuild_action).

У меня есть некие собственные впечатления о разработке под андроид. Я на чем только не писал, однажды решил ради интереса попробовать и под Android. Сам язык (Java или Kotlin) никаких проблем разумеется не вызвал, после С/С++ и общих представлений о множестве других языков. А вот что не понравилось, так это тотальная зависимость Android Studio (а конкретно системы сборки Gradle) от интернета. Если интернет не совсем обычный (хитрые корпоративные политики безопасности на шлюзе) или его вообще нет, оно не работает. Если интернет есть и обычный - оно лезет туда на каждый чих и что-то скачивает. Создает какие-то кэши скачанного, которые очень быстро раздуваются до гигабайтных размеров. Это печально, коробочные продукты в которые "все включено" гораздо приятнее.

Еще: если допустим скачиваешь чей-нибудь проект с гитхаба, написанный для Visual Studio (С++, C#), или для Qt - проблем со сборкой как правило нет. Даже проекты олдскульного Visual Studio 6 1998 года конвертируются в форматы любых современных студий. Здесь же - сразу какие-то заморочки, и обычно ничего не собирается, по причинам загадочным и не имеющим отношения к синтаксическим ошибкам в коде. Т.е. программист, вместо того чтобы думать об абстракциях кода, вынужден будет заниматься каким-то шаманством непонятно с чем. Это печально, и еще раз наводит на мысли о принципиальной неправильности самой концепции "систем сборки" как таковых.

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

Информация

В рейтинге
1 766-й
Зарегистрирован
Активность