Обновить
-3
Иван Левашев@OCTAGRAM

Удалённый программист Delphi+Ada

11
Подписчики
Отправить сообщение
На 6–7ой минутах Страуструп невзначай прошёлся по всем больным местам Delphi и C++ Builder:

Б. С.: —… но базовый посыл сложно было очень оспорить: если вы хотите, чтоб что–то широко использовалось, это рано или поздно должно стать стандартом, то есть, предметом стандартизации. Ну что здесь можно сказать? Если язык является собственностью некоей организации, рано или поздно она начнёт использовать изменения и нововведения в языке для того, чтобы усилить бренд той самой корпорации. Понятно, что корпорация и компании, входящие в её альянс, имеют преимущество по сравнению с теми, кто не входит вот в это вот сообщество. И сегодня мы говорим о языках программирования: неплохо так мысленно вернуться лет на 25 назад посмотреть на то состояние вопроса. Кстати, многие языки так и не дожили до сегодняшних времён, а есть языки, которые составляют конкуренцию C++, но они являются собственностью одной некоей корпорации. Конечно, для сторонников данной корпорации они обладают определёнными преимуществами, но этим дело–то не заканчивается: что делать остальным? И остро встаёт вопрос о портабельности или переносимости кода. А здесь ситуация становится всё хуже и хуже, и переносимость кода с одной платформы на другую становится всё сложнее и сложнее с каждым днём, и вот здесь основная проблема.
Д. И.: — Да, ну, конечно, страшный сон: не могу себе даже представить, если каждый будет писать свой собственный компилятор C++ со своим стандартом, это просто хаос будет.
Б. С.: — Да, это очень часто встречается, когда существует некий C++–подобный компилятор. Это часто встречается, когда не просто мы говорим о программировании, а о создании графического пользовательского интерфейса. Да, здесь большая проблема, но всё–таки надо сказать, что существует ядро, такая стандартная платформенная основа, и которая легко переносима. Здесь, конечно, достаточно хорошо, когда основная гигантская часть системы написана на таком стандартном языке и не зависит от расширений, сделанных конкретным вендором.
Д. И.: — Да, и я чуть не забыл тебя спросить:… (меняет тему)


Страуструпу пятёрочку за трололо, Интерсимоне — за покерфейс
Непонятно каким образом объектная модель Delphi мешает реализовать любое копирование, как вам нужно

a := b; — объектная модель не мешает, но и не помогает. Только, используя варианты, можно вклиниться в процесс копирования

Неинициализированная переменная должна вести себя как пустая строка или 0, соответственно

Это почему еще? Даже в антагонистическом С++ это не так

Имелось в виду, что string(nil) в Delphi — это пустая строка, и собственные типы могли бы быть устроены так же…

Методы не могут изменить содержимое переменной–указателя, у которого они были вызваны

Зачем такие извращения?

… в том числе, становясь nil, если их занулить. Например, если сделать строке .Delete по всему диапазону. А также это необходимо для copy-on-write. MyCustomString.Append('12') может захотеть стать другим указателем, если будет знать, что не уникален.

Нет контроля за тем, что происходит при копировании объекта.

Встроенного копирования объектов в Delphi нет, соответственно нет и контроля. Копируйте и контролируйте сами.

В некоторых случаях это крайне нежелательно, особенно, когда объекты начинают выстраиваться в иерархию и иметь пересекающиеся части.
А после обучения этим языкам предполагается, что они и дальше пишут на Delphi? Вы думаете, им понравится C++, в котором приведение типа из char* в std::string вызывает Segmentation Fault в случае NULL? Или Java, в которой при сравнении строк можно получить NullPointerException, если не использовать equals из стороннего пакета Apache Commons.

Delphi и Ada — нативные языки программирования, позволяющие работать в том числе с сишными библиотеками, но при этом изолированные от них языковым барьером. Нет ситуации, когда я делаю инклуд одного файла, этот файл инклудит заголовки Win32, и через все эти инклуды в препроцессор и пространство имён заливается неконтроллируемый объём дефайнов и объявлений. И Delphi, и, особенно, Ada имеют свои механизмы определения области видимости, отличные от C и C++ в лучшую сторону.

Кроме того, в Delphi и Ada для примитивных типов можно включить проверку диапазонов, и это штатная фича, в отличие от костылей типа Electric Fence или libmudflap в C/C++. И, наоборот, в отличие от Java и C#, эти проверки можно отключать.
Скорость скачивания обновлений по gprs может быть от 1.5 до 5 Кбайт/сек. Тариф — 7 руб. за Мб

.bpl'ки улучшают ситуацию, но само их появление на платежных терминалах можно приурочить только к крупным обновлениям
По правилам обсуждение политики запрещено, а этот вопрос тесно связан с особенностями нашей страны
Вся эта проблема с высшим образованием существует из–за работодателей, которые дискриминируют по признаку наличия образования, а не наличия знаний, как хотелось бы. Диплом государственного образца, конечно. Онлайн курсы — в свободное от получения образования время, а после получения образования — в свободное от ухода за детьми время, по остаточному принципу.

Корень зла — в таких работодателях. Их ещё слишком много, чтобы сбросить со счетов значимость вышки.
Благодаря поборникам копирайта, пираты не могут предоставить своё решение проблемы. Скажем, по моей библиотеке iTunes можно собирать статистику прослушиваний и собственных рейтингов. Хранить сумму, перечисленную за каждый трек и предоставлять мне самому инструменты отслеживания, про кого же я забыл. О чём–то таком ещё Столлман говорил.

Но ведь это автоматически подразумевает, что большая часть музыки нелегальна по нынешним меркам, а та, за которую я плачу (предположим, можно платить произвольную сумму), на самом деле может быть куплена не до конца. То есть, по нынешним меркам не куплена вовсе. Ай–яй–яй! Так нельзя. И неважно, что при эластичном спросе микроплатежами можно набрать больше денег, чем единичными большими покупками, всё равно так нельзя.

И не получается никак. Как хотят адепты копирайта, не работает. Как хотели бы потребители, не делают. Нехилую долю музыки можно приобрести только на физическом носителе. Вот, допустим, недавно рипнутый мною Synthpop Club Anthems 5. Сам диск — $3, доставка в Россию в течение месяца — $8.25, стояние в очереди на Почте России — бесценно. Мне бы больше понравилось BitCoin'ами заплатить за ALAC версию The Echoing Green — Suffer (Rename Club Mix), а остальные мне хватает и на DI Premium иногда слушать в эфире. Можно обойтись и без физического носителя, на trackitdown: Chris Dynasty — Subwayz (Pred Remix). За $3 (для маленьких платежей у trackitdown комиссия) теперь уже не альбом из 16 треков, а только один трек. Mоментально, но дорого, блин. Как результат, какие–то из треков, которые я слушал, я покупаю, какие–то качаю GreyLink'ом из p2p.
Как минимум, в Konsole есть TrueColor:

There is a predefined 256 color space compatible with his
xterm sister, and, even beyond that, a 3-byte RGB color space.

The ESC codes are as follows
А, может, пора понять тем, кто выпускает медиаизлишки, что вакантное место уже занято, и они должны быть счастливы, что им вообще уделили время, может, даже доплачивать за прослушивание надо.

Весь этот «досуг» не двигает человечество вперёд, по большому счёту. Кто–то должен гайки винтить, оптику варить, а фильмы, музыка — отвлекают от дел.

Я думаю, на данный момент отснято и отзвучено более чем достаточно для того, чтобы прекратить делать что–то новое просто так, ради денег. Эпоха относительно качественных фильмов начинается с 90х годов, и нашим детям вполне бы хватило того, что было отснято за эти 20 лет. Смотреть–не пересмотреть.

Кто–нибудь помнит ещё фильм «Телепорт». А если так, то много ли мир потерял бы, если бы его не было никогда? То, что было искусством, сейчас — развлечение. Мне не жалко, если развлечению поплохеет. Искусство всё равно останется.
CrossKylix — пишем в Delphi, компилируем для Linux. Используется легковесный самописный эмулятор Linux, эмулирующий только те вызовы, которые использует линуксовый dcc из поставки Kylix 3. Отладки нет.

GPS — поддерживает удалённую компиляцию и отладку на языках семейства GCC: Ada, C, C++.
А начхало бы правительство США на интересы своих корпораций, того же Майкрософта, и у нас до сих пор ни одна контора ничего не покупала бы — ни виндоус, ни 1С.

Вот ведь трагедия.
Есть Б–Контур. Есть Ананас. Бухгалтера могли бы править формулки в Ананасе и делиться патчами друг с другом аналогично тому, как это происходило с httpd (ныне Apache).

Почему-то как только у людей здесь что-то получается, они бегут на Запад, защищать свои инвестиции.

Потому что в России действует режим оккупации со стороны США. Как одно из проявлений этого режима, Центробанк держит высокие процентные ставки, кредит дешевле брать в иностранных банках, но ещё дешевле — став иностранной организацией. Есть и другие проявления оккупации, косвенно выражающиеся в том, что в других странах больше возможностей. У нас раньше дань в виде золото–валютных резервов только через ЦБ выплачивалась 50/50, то есть, если по УСН 6% работать, 3% родине, 3% — в США. На следующий 2013й год ещё и из бюджета деньги пойдут на помощь Европе и Америке.

Разумеется, утечка мозгов из России — такое же желательное явление для оккупанта. Поэтому в России лоббируются некоторые самоограничительные законы, а на некоторые места проводятся люди, которые будут работать не на благо родины. А даже, если и будут, используется пиар, фигурное цитирование и подмена повестки дня в подконтрольных СМИ так, чтобы постоянно создавать впечатление невозможности жизни здесь.
Жаль, что протокол BitTorrent. Больше бы хотелось Gnutella2 и/или DC++ DHT
Скорее анти–Путинской пропаганды. Путинский канал — это Russia Today
Пусть лучше магнитные ссылки с TTH выдают для Shareaza, GreyLink и любого другого протокола, использующего TTH
Сколько я видел этих слушателей, им как раз составило бы труда
haXe больше ActionScript'ом вдохновлён, конечно. Но из того же семейства.

Насчёт переноса кода — а это сильно надо? Если смотреть, кто делает перенос с JavaScript на haXe, видно, что им нужна многоплатформенность, а, значит, TypeScript тут точно не замена. В обычных условиях для JavaScript достаточно импорта/экспорта, но на одной платформе это интерфейс к JavaScript, а на другой — к ActionScript, на третьей — к php, на четвёртой — к C++ коду.
Но ведь haXe тоже статически типизирован!
Мне толковой документации по build своевременно не попалось, так что эксперименты были весьма скромные. Помню, меня прикалывало, что в режиме DNCLIP можно в зеркала заходить и ходить по зазеркалью.

А когда в руках build, можно не только с читами в зазеркалье ходить, но и проложить туда дорогу. На карте в build зазеркалье — это комната то ли с эффектором, то ли с тегом, но в принципе, комната. В игре по этой комнате нельзя ходить, можно только вибрировать, пытаясь идти. Когда в зазеркалье проложена дорожка из других секторов, по этим секторам ходить можно, зазеркалье вокруг видно, но ходить по нему по–прежнему нельзя, игрок начинает дрожать. Как нежелательная фича, проложенная дорога видна целиком, в том числе через отражённые здания, а также видно зеркало. Чтобы это пофиксить, надо в зазеркалье возводить стены симметрично реальным стенам.

Задумка была в том, чтобы провести дорожки по зазеркалью с телепортами и кнопками активации пушек.

Но без документации и Интернета всё это недалеко зашло.
А эти двое тут при чём?

Пытались поддержать наверняка, но есть ещё и партии, и ни одна из них всецело линию президента не поддерживает. И есть чиновники, которые могут не исполнять указы.
Да, насчёт TypeScript вообще не понятно, откуда взяли этот язык и почему именно он?

haXe компилируется в самые разные платформы, а TypeScript — всего лишь в JavaScript

Информация

В рейтинге
Не участвует
Откуда
Воркута, Коми, Россия
Дата рождения
Зарегистрирован
Активность