The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Обновление редактора кода CudaText 1.105.5, opennews (?), 23-Июн-20, (0) [смотреть все] +1

Сообщения [Сортировка по времени | RSS]


68. "Обновление редактора кода CudaText 1.105.5"  +1 +/
Сообщение от Аноним (72), 23-Июн-20, 16:47 
> Pascal позволяет писать за тоже время более надежное, более богатое возможностями и при этом более быстрое ПО, чем С\С++.

Странное заявление, пруфы будут?
Судя по контексту, говоря "паскаль" подразумевается "дельфи", поэтому давай и сравнивать дельфи с билдером.

1. надёжное
Идентично, что в C++ указатели, что в дельфи указатели. Что в C++ есть std::string и std::vector, что в дельфи есть String и array of . Что в билдере исключения, что в дельфи исключения. Что в дельфи можно забыть Free/Destroy, что в билдере можно забыть delete.
А вот применить RAII в дельфи уже никак... всё ООП только в рантайме (в куче) с явным вызовом Create/Free :(

2. более богатое возможностями
Нет у дельфи (языка паскаль) каких-то возможностей, которых нет в билдере (языке C++)... Есть какие-то мелочи типа virtual/dynamic-методы (в C++ так гибко не настраиваются); или в дельфи в любом месте конструктора/деструктора можно написать inherited (в C++ более жесткие правила). Но это особо ни на что не влияет.
"Встроенный" OLE Automation чуть приятнее в дельфи, но это тоже ооочень специфичная штука.
Остальные "богатые возможности" добавляет VCL и сторонние компоненты/библиотеки... Ну и в билдере точно такой же VCL и те же самые сторонние компоненты/библиотеки (builder-only легко сделать, delphi-only - надо постараться).

3. более быстрое ПО
Какой-то существенно разницы в скорости между delphi и билдером не было и нет (оба компилируемые языки). Разница в скорости между llvm и gcc, или разница char str[MAX_SIZE]/std::string str, или разница в скорости разных версий gcc/разных версий libstdc++, или разница между методом at и operator[] в шаблоне std::vector будут примерно на уровне разницы delphi vs builder.


> переманивали в Майкрософт

У VCL достаточно красивая архитектура (если нужно сделать простенькую десктопную программу) и да .net2.0 во многом был похож на VCL (по-моему его и делал кто-то из команды старого борланда).
Но для сложной программы лучше будет GUI декстопной JavaSE или Qt, у них нормальный MVC есть в отличие от VCL. Поэтому майкрософт в .net3+ ушел от VCL-подобной архитектуры в сторону MVC. И оказался прав - .net сразу взлетел и быдлокодеры массово переориентировались с дельфи на .net


P.S. Опять же, 15-20 лет назад VCL могла казаться верхом совершенства! Но делать таблицу, которая должна отсортироваться по содержимому при клике на столбце... то как это делается в "голом" VCL - НЕ НУЖНО!!! Даже в современном дельфи для таких целей берут Developer Express (который тоже на MVC). Мир поменялся и ушел вперёд. Дельфя еще шевелится, но понятно что никуда больше не успеет... сейчас это просто проприетарное глюкалово по нереальным ценам, потому в новых проектах никому и ненужно.

P.P.S. Лазарус - непонятная попытка пересадить быдлокодеров с винды в linux, но они опоздали лет на 10... большая часть быдлокодеров уже на 1С, в .net, в web/javascript и на java/android.

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

74. "Обновление редактора кода CudaText 1.105.5"  –1 +/
Сообщение от Чолхан (ok), 23-Июн-20, 17:13 
пруфов не будет, так то я, конечно, про pascal (блин, я помню TurboVision)), и вообще Delphi != pascal && C++Builder != C++ , это просто RADы c общей бинарной базой. Я писал на хреновой туче языков, у меня сложилось впечатление, что на pascal большее количество разнообразных ошибок обнаруживается в процессе компиляции, чем на C++, то есть с типизацией ли лучше или еще что, но ПО не только на pascal, но и в Delphi\Builder было гораздо функциональнее (писалось рефакторилось легче), чем на MSVS и работало безглючнее. С C# некорректно сравнивать.
Ответить | Правка | Наверх | Cообщить модератору

96. "Обновление редактора кода CudaText 1.105.5"  +1 +/
Сообщение от Аноним (72), 23-Июн-20, 20:12 
> на pascal большее количество разнообразных ошибок обнаруживается в процессе компиляции, чем на C++

Есть такой эффект... Ъ-паскаль корректнее будет с чистым C сравнивать. В определенных задачах может и выиграть (если задачи примерно как в школе - массивы сортировать, строки ковырять, фигурки на шахматной доске расставлять). Уровень ошибок сферического паскаля в вакууме будет пониже...
С другой стороны - начни считать md5/crc на паскале и удивись сколько он подводных камней таит :) чтобы без отключения проверок и без единого ворнинга заработало (или чтобы exception'ы в рантайме в дельфи не посыпались) - надо прям постараться. Хотя задача с виду элементарная.

Если в pascal добавить библиотеки с потоками, то все равно начнуться дедлоки, никуда от них не убежишь :( И если нормально интегрироваться с остальным окружением (с СУБД, с графикой, с сетью и прочим), то внешние либы обязательно потребуются и компилятор окажется бессилен. И тогда приходит понимание, что "серебряной пули нет" и хороший компилятор/язык ситуацию не сильно исправит.

Касательно предыдущего поста (на который ты отвечал) - в C++ можно писать программы с низким уровнем ошибок, но это надо в определённой степени осознанно делать и какой-то стиль программирования закрепить и возможности языка осознанно ограничить. Bulletproof-варианты сами собой не получатся и баги иногда будут проскакивать... но и высокого уровня забагованности не будет, что-то на уровне паскаля вполне себе достижимо небольшими затратами.

Ответить | Правка | Наверх | Cообщить модератору

101. "Обновление редактора кода CudaText 1.105.5"  –1 +/
Сообщение от Чолхан (ok), 23-Июн-20, 22:38 
согласен, Паскаль лучше сравнивать с Си, Модулу с Си++, а Оберон уже совсем остальным)). Вирт скорее теоретик и он создавал языки, обладающие формальной полнотой, Си-подобные изначально были дефективными с точки зрения дизайна, но "народу нравилось" (c) писать менее описательные программы с i++ и фигурными скобками, опять же системные библиотеки, как правило, были написаны на Си (язык низкого уровня) и использование cdecl конвенций несколько препятствовало распространению паскаль-приложений тоже. То есть априори можно было быстрее на Си, хакая и не обрабатывая всевозможные ошибки повсеместно, сдавать проекты с багами, которые еще не факт, что обнаружатся в цикле жизни версии - бизнесу нравилось. Мнение леммингов вообще никого не интересовало, они и так были довольны - на паскале писать скучнее)).
Ответить | Правка | Наверх | Cообщить модератору

117. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от Аноним (117), 24-Июн-20, 13:23 
Паскаль помойка уже тем, что пихать все переменные в единое место декларации - такое себе, видимость должна быть иерархически управляемой сверху вниз. begin/end вместо фигурных скобок - это уже вкусовщина, это изоморфная замена. Да и в нормальных языках есть полная поддержка параметрического полиморфизма (Scala/F#/Haskell).
Ответить | Правка | Наверх | Cообщить модератору

118. "Обновление редактора кода CudaText 1.105.5"  +1 +/
Сообщение от Чолхан (ok), 24-Июн-20, 13:47 
Конечно, если пишете проекты в одну большую портянку, то ваше негодование понять можно))
Ответить | Правка | Наверх | Cообщить модератору

143. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от Аноним (143), 25-Июн-20, 01:30 
> Паскаль помойка уже тем, что пихать все переменные в единое место декларации

Ну а как же C89? Там как в паскале получается (никаких объявлений переменных после кода). И на некоторых платформах до сих пор так (у микрочипа до сих пор выпускаются микроконтроллеры с C89-only и вариантов там нет, да и в msvc оочень долго было так же).

По поводу вкусовщины - в pascal (ну и в object pascal) есть красивые операторы:
if a in [2,3,4] then
или
with object do

Это конечно не киллер-фича, а всего лишь синтаксический сахарок. Но в C прямых аналогов нет, а штука иногда приятная.

Ответить | Правка | К родителю #117 | Наверх | Cообщить модератору

165. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от anonimous (?), 25-Июн-20, 19:06 
> Паскаль помойка уже тем, что пихать все переменные в единое место декларации
> - такое себе, видимость должна быть иерархически управляемой сверху вниз.

Ну в дельфях так довольно давно сделали
https://blog.marcocantu.com/blog/2018-october-inline-variabl...
for var I := 1 to 10 do ...
for var Item in Collection do ...
хотя я как-то особой нужды в этом не испытывал. Ну а на якобы любителей си (которые не самом деле на нем обычно не пишут) все равно не угодишь. Хотя глупости с.с++ можно страницами перечислять но это все норм.

Ответить | Правка | К родителю #117 | Наверх | Cообщить модератору

144. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от Аноним (143), 25-Июн-20, 03:48 
Многое зависит от опыта и от того с чем сравнивать. У меня первый язык был Basic (spectrum 48k), а второй - ассемблер (для z80). Потом в школе был паскаль ("на бумаге", с компьютерами в те времена было туго).

А вот следующий язык был C (уже на PC). И я бы не сказал, что он вызвал какие-то проблемы (после асма он уже никаких проблем вызвать не может и даже выглядит существенно более "безопасным", "удобным" и "лучше структурированным"). Действительно классный, интересный и при этом достаточно простой язык (в BCPL шикарные идеи и они почти все перекочевали в C). В какой-то степени да
> на паскале писать скучнее

но это надо читать как "у C более широкие возможности и этими возможностями надо грамотно распорядиться".

> Си-подобные изначально были дефективными с точки зрения дизайна, но "народу нравилось" (c) писать менее описательные программы с i++ и фигурными скобками

А вот с этим категорически не согласен. C - это штука очень мощная и при этом низкоуровневая, поэтому требует ответственности, опыта и порядка... это нормально.
Нет там никакой дефектности, на C ориентировались и в javascript и в java и в C# и много кто ещё; убирали они не i++ и не фигурные скобочки!


Если интересно мое мнение - я тоже считаю программистов на Gtk очень смелыми людьми :) я бы так не смог... и до сих пор не решаюсь...
Но если брать сокеты или OpenGL - там и на чистом C все достаточно просто, безопасно и прозрачно. В Winapi и в POSIX тоже попадаются относительно безопасные и удобные решения, при этом они сделаны на чистом C.

Неудачные и "опасные" для чистого C задачи - типа GUI, или обратки строк нужно просто делегерировать в C++ (в тот же fltk/wxWidgets/Qt, кое-что можно и в libstdc++, можно даже и в Builder) и все сразу становится нормально! Удобнее чем на pascal и при этом достаточно безопасно.

P.S. Против паскаля ничего не имею... Но вот когда мне достался крупный проект на ObjectPascal (дельфи) - было немного некомфортно после C/C++ и возникали мысли... может хотя бы на билдер перейти? :) Естественно ради смены delphi на builder затевать переписывание бессмысленно, да и паскаль - это не самый плохой вариант, с ним можно работать и результат получается примерно на уровне.
В C++ я вижу больше возможностей (даже относительно современного ObjectPascal с Generics). При этом даже в классическом pascal можно найти пару мелких фишек, отсутствующих в C++... но для меня они почти ничего не решают.

Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

183. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от Anonymoustus (ok), 27-Июн-20, 07:39 
> Ав BCPL шикарные идеи и они почти все
> перекочевали в C

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


>> Си-подобные изначально были дефективными с точки зрения дизайна, но "народу нравилось" (c) писать менее описательные программы с i++ и фигурными скобками
> А вот с этим категорически не согласен. C - это штука очень
> мощная и при этом низкоуровневая, поэтому требует ответственности, опыта и порядка...
> это нормально.
> Нет там никакой дефектности, на C ориентировались и в javascript и в
> java и в C# и много кто ещё; убирали они не
> i++ и не фигурные скобочки!

Есть там дефективность, есть. Сишечку писали для PDP. И этим всё сказано (для тех, кто понимает). А для всех прочих архитектур Сишечка выглядит так, будто создана инопланетянами для инопланетян. Ну нету ни в x86, ни в POWER, ни в ARM того внутреннего устройства, которое имела PDP, следовательно Си не отражает эти архитектуры адекватно. Натягивать желаемое на действительное, конечно, никто вам не запрещает, но это самообман. :-)

И эту сишечную PDP-дефектность перетащили во все производные от неё языки, забыв забрать с собой родную для Си старую машинную архитектуру, поэтому сегодня ни одно хвостатое не сможет объяснить, зачем одновременно в языке нужны ++i и i++ обе ;-)


> Но вот когда мне достался крупный
> проект на ObjectPascal (дельфи) - было немного некомфортно после C/C++ и
> возникали мысли... может хотя бы на билдер перейти? :) Естественно ради
> смены delphi на builder затевать переписывание бессмысленно, да и паскаль -
> это не самый плохой вариант, с ним можно работать и результат
> получается примерно на уровне.

Понимаешь, для Объектного Паскаля и Дельфи не завезли гайдлайнов против говнокодерства, поэтому чуть ли не весь код на этих языках представляет собой говнокод. Фатальный недостаток, увы. А вот, скажем, для Ады такие гайдлайны есть, причём они обязательны^W рекомендованны и считаются неотъемлемой частью хорошего стиля. И вот так при всей синтаксической схожести двух языков на практике получаются, как говорят в Одессе, две большие разницы.


> В C++ я вижу больше возможностей (даже относительно современного ObjectPascal с Generics).
> При этом даже в классическом pascal можно найти пару мелких фишек,
> отсутствующих в C++... но для меня они почти ничего не решают.

Как написать абзац текста, но ничего не сказать. Талантище! :-)

Ответить | Правка | Наверх | Cообщить модератору

192. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от Alexey_Tor (ok), 02-Июл-20, 01:27 
>С.... требует ответственности, опыта и порядка... это нормально. Нет там никакой дефектности

Ну да, ну да. Статья на Хабре про четыре или пять методов инициализации переменных.

Паскаль- const, var, и те похожи.

Ответить | Правка | К родителю #144 | Наверх | Cообщить модератору

75. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от Аноним (17), 23-Июн-20, 17:15 
и не кто не вспомнит что было еще вот это
https://ru.wikipedia.org/wiki/Kylix
=)
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

80. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от Чолхан (ok), 23-Июн-20, 17:29 
Главное, чтобы вы помнили)) У него не было шансов взлететь в узком и злом пингвиньячем мире ))
Ответить | Правка | Наверх | Cообщить модератору

140. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от IRASoldier_registered (ok), 25-Июн-20, 00:54 
Да ладно?

"Начиная с RAD Studio 10.2, Delphi IDE включает свой первый компилятор для Linux на основе LLVM для корпоративной разработки, позволяя разработчикам на Delphi создавать приложения для 64-разрядных серверов и устройств с ОС Linux для Intel-CPU. Компилятор для Linux сертифицирован для Ubuntu сервер (LTS 16.04) и RedHat Enterprise (V7) и построен на основе LLVM-движка."

Ссылка - ниже.

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

Ответить | Правка | Наверх | Cообщить модератору

166. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от anonimous (?), 25-Июн-20, 19:13 
> Да ладно?
> Паскалисты так склонны копаться в прошлом, что даже не замечают, когда их  антиквариат кто-то обновляет и поддерживает...

Да ладно?
Последний антиквариат вышел в мае 2020, следующее обновление в июле.
https://www.lazarus-ide.org/
Кстати то что кроссплатформенные компилятор и иде на паскале успешно пишется и поддерживается небольшой группой людей что-то о чем-то говорит. Но не всем.


Ответить | Правка | Наверх | Cообщить модератору

139. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от IRASoldier_registered (ok), 25-Июн-20, 00:51 
Зачем вспоминать, если оно всё ещё есть?

https://www.embarcadero.com/ru/products/rad-studio/whats-new...

Можешь прикупить.

Или

https://www.embarcadero.com/ru/products/delphi/starter/free-...

Я даже знаю людей, которые все еще этим пользуются.

Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

184. "Обновление редактора кода CudaText 1.105.5"  +/
Сообщение от Anonymoustus (ok), 27-Июн-20, 07:42 
> Я даже знаю людей, которые все еще этим пользуются.

Зато ты не знаешь, что этот продукт делают совсем другие люди. Не те, которые придумали Турбо Паскаль и Дельфи.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру