Идёт 2019 год, линукс так и не вышел из своих процентов использования. Даже основанный на нем андроид уже ускакал весело вперёд и вполне возможно, что через некоторое время гугл спокойно переползет на какую-нибудь фуксию на своём ядре. 200 год, говорите? Ну-ну.
Купил и использовал. Было это в 2002-м году. Да, официальный релиз был в 2004-м, но неофициальный вышел уже в 2002-м.
Вас кто-то обманул, сказав, что если самосвал — это хорошая машина, то все должны ездить на самосвалах. Включите критическое мышление, ведь это же очевидный абсурд.
Свои 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.
Русификация функций — это зло, с которым столкнулись ещё разработчики софта в СССР в 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.
Anroid «ускакал» в каком смысле?
Вас кто-то обманул, сказав, что если самосвал — это хорошая машина, то все должны ездить на самосвалах. Включите критическое мышление, ведь это же очевидный абсурд.
Объём трудозатрат несопоставим. Вы же не станете игровые сценарии на C++ писать.
Попробуйте его сформулировать.
Нужно что-то поменять в одной из форм? Выкинь её и перепиши с нуля, это же так быстро — вот принцип, который предлагала разработчику Delphi.
В какой-то момент я спросил себя: какого лешего у меня бизнес-логика базы данных делает в обработчике нажатия кнопки OnButtonPressed? Где она должна быть на самом деле?
И пришёл к следующему выводу. Нужно всё, что касается форм, описывать на языке XML, и создавать интерфейс программы, загружая эти данные из файла.
Далее, сама программа должна быть разделена на сервер и клиент. Вся бизнес-логика находится на сервере, а клиент может работать вообще на другом компе.
Так мне пришла идея сервера объектов.
Но тут я прочитал статью про HTML и JavaScript, и сказал себе: да вот же оно.
Установил браузер MSIE, написал веб-страничку в Блокноте, а она работает. И я сказал себе: да оно ещё и бесплатно?
Где сервер СУБД? — задал я вопрос на форуме apache.org
Зачем тебе сервер СУБД? — спросили меня.
Сайт буду делать, — ответил я. А где хранить пользовательские данные? В mydb.csv их, что ли, хранить?
Логично, — сказали мне. Через два месяца появился MySQL.
Остроумно, — подумал я.
Так наступил конец гегемонии Delphi. Через полтора года её уже можно было юзать совершенно бесплатно.
В 5-м же Borland C лично я столкнулся с тем, что моя программа должна загрузить 32-битную USER32.DLL и 16-битную USER.DLL, а под Windows это было сделать невозможно — программа должна была использовать либо 16-битную, либо 32-битную версию. Пришлось отказаться от этой затеи, и начать портирование программы под чистый WinAPI.
Как-то пробовал Eclipse установить под Windows. Вообще не понял, кому понадобилось писать IDE на Java. А в Linux и на Маке последние лет 10 пишу только в нём.
Так же портировал драйвера, которые отказывались компилироваться. Тоже ничего сложного, и не занимает много времени. Простая игрушка гораздо сложнее устроена.
Но те времена давно прошли, когда приходилось это делать. Технологии не стоят на месте.
«Быстрее» и Windows — это понятия взаимоисключающие. Разработка и отладка программ под Windows — это всегда были лютые тормоза и адский своп. Как вспомню, так вздрогну.
Я написал несколько игр, довольно популярных. Первая была на Java под Android, две других — на Adobe Flash.
Adobe Flash всем прекрасен, но у него есть два недостатка — он доступен только под Windows и он зверски потребляет память.
Поэтому ничего удобнее и быстрее, чем разработка игры под SDL на Python, я как разработчик игр ещё не видел. Код рефакторится с такой скоростью, что на Adobe Flash или Java было бы проще и быстрее всё переписать с нуля, а тут просто перелопатил весь исходник за полтора часа, и готово.
Разработка под Linux меня научила мыслить категориями генеративного программирования. Вообще не писать исходный код, а генерировать его. Так что в итоге я освоил шаблоны C++ и с тех пор пишу только на нём. Получается довольно быстро и вполне удобно.
Но Windows? Не смешите меня. Потерянное время. Сплошной бесконечный рефакторинг.
Насколько я понял, для Вас показателем качества является массовость. Все побежали, и я побежал. Но в мире технологий массовость использования не является показателем качества. И вот почему.
Самая массовая профессия — водитель, на втором месте — продавец.
Рабочее место продавца — это компьютер с АРМ. Главное требование к этому компьютеру — надёжность.
С точки зрения технологий есть 3 критерия при производстве компьютеров: стоимость, надёжность, быстродействие. Физически невозможно обеспечить все три, всегда приходится сделать выбор: что важно, а чем можно пожертвовать.
Если производитель выбирает надёжность и стоимость, то этот компьютер будет не слишком быстрым. Зато он будет пользоваться массовым спросом.
Теперь зададим себе вопрос: а какие требования предъявляет к компьютеру разработчик программного обеспечения?
Это однозначно будут быстродействие и надёжность. То есть это получится довольно дорогой компьютер, но быстрый и надёжный. Такой компьютер никогда не будет пользоваться массовым спросом, но программист всегда выберет именно его.
Аналогично и в программном обеспечении. Вам нужен офис и VB? Ваш выбор — Windows. Вам нужна возможность посмотреть в исходник и исправить ошибку в системной библиотеке? Это может предложить только Linux.
Тогда была модной идея писать код прямо на английском языке. У нас же из этого получился АЛГОЛ, текст которого из-за русского языка просто нечитаем.
Потом возникли проблемы с портированием программ, из которых был сделан однозначный вывод — нельзя переводить элементы синтаксиса языка программирования с английского на русский. Поэтому софт для PDP-11 уже был весь англоязычный, переводились только сообщения об ошибках и документация.
В 1990-х в компании Microsoft про этот опыт то ли не знали, то ли забыли.
Зато отлично работает SDL.
Успех Python вполне объясним. Python создан как язык для быстрой разработки приложений. Его синтаксис позволяет очень быстро писать легко-читаемый код.
При этом приложение работает со скоростью, сравнимой с С++, то есть очень быстро.
Плюс сам браузер производил впечатление. По сравнению с ним MSIE выглядел кустарной поделкой.
Лично я просто кайфанул, когда с Delphi перебрался на MSVC. Любая библиотека была в моём распоряжении без необходимости самому переводить заголовки с C в Object Pascal.