All streams
Search
Write a publication
Pull to refresh
-2
0
Андрей Шаройко @vanyamba-electronics

User

Send message
А Android и Linux — это разные операционные системы?
Идёт 2019 год, линукс так и не вышел из своих процентов использования. Даже основанный на нем андроид уже ускакал весело вперёд и вполне возможно, что через некоторое время гугл спокойно переползет на какую-нибудь фуксию на своём ядре. 200 год, говорите? Ну-ну.

Anroid «ускакал» в каком смысле?
Посмотрите фильм Клерки.
Бизнес-логика в клиенте. Ещё и на Object Pascal зашитая в код.
Купил и использовал. Было это в 2002-м году. Да, официальный релиз был в 2004-м, но неофициальный вышел уже в 2002-м.
Вас кто-то обманул, сказав, что если самосвал — это хорошая машина, то все должны ездить на самосвалах. Включите критическое мышление, ведь это же очевидный абсурд.
Никакого.
Объём трудозатрат несопоставим. Вы же не станете игровые сценарии на C++ писать.
Попробуйте его сформулировать.
Свои DLL — сколько угодно, USER.DLL и USER32.DLL не знают друг про друга, что их загрузили в одно приложение, и пытаются обращаться к каким-то другим системным библиотекам. При этом и возникает конфликт, с которым просто ничего не поделать.
Просто никто не пишет библиотеки на этих языках.
Основная проблема Delphi в том, что интерфейс программы смешан с кодом программы. Нарушен базовый принцип проектирования — разделять код и данные.
Нужно что-то поменять в одной из форм? Выкинь её и перепиши с нуля, это же так быстро — вот принцип, который предлагала разработчику Delphi.
В какой-то момент я спросил себя: какого лешего у меня бизнес-логика базы данных делает в обработчике нажатия кнопки OnButtonPressed? Где она должна быть на самом деле?
И пришёл к следующему выводу. Нужно всё, что касается форм, описывать на языке XML, и создавать интерфейс программы, загружая эти данные из файла.
Далее, сама программа должна быть разделена на сервер и клиент. Вся бизнес-логика находится на сервере, а клиент может работать вообще на другом компе.
Так мне пришла идея сервера объектов.
Но тут я прочитал статью про HTML и JavaScript, и сказал себе: да вот же оно.
Установил браузер MSIE, написал веб-страничку в Блокноте, а она работает. И я сказал себе: да оно ещё и бесплатно?
Где сервер СУБД? — задал я вопрос на форуме apache.org
Зачем тебе сервер СУБД? — спросили меня.
Сайт буду делать, — ответил я. А где хранить пользовательские данные? В mydb.csv их, что ли, хранить?
Логично, — сказали мне. Через два месяца появился MySQL.
Остроумно, — подумал я.
Так наступил конец гегемонии Delphi. Через полтора года её уже можно было юзать совершенно бесплатно.
Удобнее, но только в C++ Builder, а он тогда ещё не вышел.
В 5-м же Borland C лично я столкнулся с тем, что моя программа должна загрузить 32-битную USER32.DLL и 16-битную USER.DLL, а под Windows это было сделать невозможно — программа должна была использовать либо 16-битную, либо 32-битную версию. Пришлось отказаться от этой затеи, и начать портирование программы под чистый WinAPI.
На Windows да, уж не знаю, почему. В Linux он заметно быстрее, чем Java. Но в Windows и Java работает не слишком быстро.
Как-то пробовал Eclipse установить под Windows. Вообще не понял, кому понадобилось писать IDE на Java. А в Linux и на Маке последние лет 10 пишу только в нём.
Да, я вносил исправления в некоторые библиотеки. Встречались ошибки, которые иначе было не исправить, а ждать, пока это сделает автор, смысла не было.
Так же портировал драйвера, которые отказывались компилироваться. Тоже ничего сложного, и не занимает много времени. Простая игрушка гораздо сложнее устроена.
Но те времена давно прошли, когда приходилось это делать. Технологии не стоят на месте.
«Быстрее» и Windows — это понятия взаимоисключающие. Разработка и отладка программ под Windows — это всегда были лютые тормоза и адский своп. Как вспомню, так вздрогну.
Я написал несколько игр, довольно популярных. Первая была на Java под Android, две других — на Adobe Flash.
Adobe Flash всем прекрасен, но у него есть два недостатка — он доступен только под Windows и он зверски потребляет память.
Поэтому ничего удобнее и быстрее, чем разработка игры под SDL на Python, я как разработчик игр ещё не видел. Код рефакторится с такой скоростью, что на Adobe Flash или Java было бы проще и быстрее всё переписать с нуля, а тут просто перелопатил весь исходник за полтора часа, и готово.
Разработка под Linux меня научила мыслить категориями генеративного программирования. Вообще не писать исходный код, а генерировать его. Так что в итоге я освоил шаблоны C++ и с тех пор пишу только на нём. Получается довольно быстро и вполне удобно.
Но Windows? Не смешите меня. Потерянное время. Сплошной бесконечный рефакторинг.
Насчёт CD-RW лично у меня всё работало идеально. Только когда CD привод издох и начал портить болванки, пришлось его заменить. Но ему уже было около 6 лет.
Насколько я понял, для Вас показателем качества является массовость. Все побежали, и я побежал. Но в мире технологий массовость использования не является показателем качества. И вот почему.
Самая массовая профессия — водитель, на втором месте — продавец.
Рабочее место продавца — это компьютер с АРМ. Главное требование к этому компьютеру — надёжность.
С точки зрения технологий есть 3 критерия при производстве компьютеров: стоимость, надёжность, быстродействие. Физически невозможно обеспечить все три, всегда приходится сделать выбор: что важно, а чем можно пожертвовать.
Если производитель выбирает надёжность и стоимость, то этот компьютер будет не слишком быстрым. Зато он будет пользоваться массовым спросом.
Теперь зададим себе вопрос: а какие требования предъявляет к компьютеру разработчик программного обеспечения?
Это однозначно будут быстродействие и надёжность. То есть это получится довольно дорогой компьютер, но быстрый и надёжный. Такой компьютер никогда не будет пользоваться массовым спросом, но программист всегда выберет именно его.
Аналогично и в программном обеспечении. Вам нужен офис и VB? Ваш выбор — Windows. Вам нужна возможность посмотреть в исходник и исправить ошибку в системной библиотеке? Это может предложить только Linux.
Да, исходник перед выполнением компилируется в P-код. При следующей загрузке загружается уже скомпилированный файл.
Русификация функций — это зло, с которым столкнулись ещё разработчики софта в СССР в 1960-х годах.
Тогда была модной идея писать код прямо на английском языке. У нас же из этого получился АЛГОЛ, текст которого из-за русского языка просто нечитаем.
Потом возникли проблемы с портированием программ, из которых был сделан однозначный вывод — нельзя переводить элементы синтаксиса языка программирования с английского на русский. Поэтому софт для PDP-11 уже был весь англоязычный, переводились только сообщения об ошибках и документация.
В 1990-х в компании Microsoft про этот опыт то ли не знали, то ли забыли.
В Pyhton ничего подобного, конечно, нет. Лично я пробовал в своё время написать что-нибудь под PyQt — было неплохо, но с установкой самой PyQt возникли непреодолимые проблемы.
Зато отлично работает SDL.
Успех Python вполне объясним. Python создан как язык для быстрой разработки приложений. Его синтаксис позволяет очень быстро писать легко-читаемый код.
При этом приложение работает со скоростью, сравнимой с С++, то есть очень быстро.
Нечто подобное предложила и сама компания M, запустив MSN Network. Bing, MSNBC и прочие сервисы. У NN был свой набор сервисов, уже не помню, каких. Но выглядело весьма впечатляюще, рука сама тянулась за кошельком оформить подписку.
Плюс сам браузер производил впечатление. По сравнению с ним MSIE выглядел кустарной поделкой.
Вы просто не видели 10-й Mandrake с KDE, Qt и всеми этими технологиями, о которых разработчик под Windows в то время мог только мечтать. Любую ошибку в любой библиотеке можно было при необходимости исправить самому. А под Windows — ждите, надейтесь, что исправят в следующем сервис-паке.
Фатальный недостаток Delphi — язык Pascal.
Лично я просто кайфанул, когда с Delphi перебрался на MSVC. Любая библиотека была в моём распоряжении без необходимости самому переводить заголовки с C в Object Pascal.
1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity