Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.05.2010, 15:03   #71
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Кстати, есть ли в новых версиях делфей циклы по типу foreach или до сих пор не прикрутили такую полезность?
Есть

Код:
var
A: Array [1..6] of String;
I: String;

….

for i in A do
  begin
      Memo1.Lines.Add(i);
  end;
Вообще Дельфи все больше становится сишарпнутым.

Цитата:
Это понятно, что идиот какой-нибудь может посредством этой операции суммировать матрицы, а не умножать, но так можно намудрить с чем угодно. Можно и в функции Sum перемножать.
Я имел ввиду путаницу в том плане, что элементарные операции определены для элементарных типов. А здесь возникает ситуация когда они определены, а когда определены и еще для других целей.

Цитата:
Ну а как по мне, то я сначала думаю, а потом пишу. Так что лишняя писанина только затормаживает процесс и сбивает с мысли.
Исключительно дело привычки. Это не минус (но я и не говорил, что плюс). Соответственно и синтаксис не перегружен.

Цитата:
Я помню еще и не знал про существование в других языках такой штуки, как шаблоны, а TList мне не нравился необходимостью всюду в коде писать преобразования типов. Так что, как минимум один человек, все же ругал TList
Хорошо, не будем отклоняться от темы, не нравится Вам TList (в смысле старого типа, для указателей), пусть так, но речь шла о шаблонах. В Дельфи они есть.

Цитата:
Охотно верю, что у Вас конструкторы всех классов ни в коем случае не выкидывают исключения и все ошибки обрабатываются, что все строки между созданием объекта в куче и его удалением так же защищены от исключений блоками try .. except и т.д. и т.п. Иначе - код потенциально опасен в плане утечек памяти.
Если следовать определенным и простым правилам, то утечек не возникает.

Цитата:
Это уже реально на фанатизм похоже. Зачем тогда делфи нужна? Давайте в машинных кодах программить. Тут вопрос не в том, что делфи плохая и коряво всё работает, а в разнице между данными на стеке и в куче.
Это не фанатизм, это просто как сделать "еще быстрей"

Цитата:
Я бы не стал такую мелочь приписывать к особенностям языка и т.п. Ну какие правила, если я могу банально опечататься и написать mAinForm. Мелочь, ничего особенного, но некрасиво.
Так исправьте, можно и msinform написать...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 11.05.2010 в 15:17.
Utkin вне форума
Старый 11.05.2010, 18:20   #72
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
По умолчанию

Цитата:
Исключительно дело привычки. Это не минус (но я и не говорил, что плюс). Соответственно и синтаксис не перегружен.
Вот и я о чем. Плюс в Дельфи нету этих маленьких символов, которые путаются типа {<*^
Nobody expects Spanish Inquisition!
Juffin вне форума
Старый 11.05.2010, 20:13   #73
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Вообще Дельфи все больше становится сишарпнутым.
Ну это нормально. Иметь такого конкурента в лице C#, в к-ром в самом много позаимствовано из Delphi, и из других языков лучшее взяли. Приходится не отставать. Смешно вспоминать как многие холиварщики раньше ругали Delphi, а теперь все лучшие решения оттуда воплощены в C#, да и в самом .NET, да еще и в фирме - главном конкуренте. Все же Delphi привнес много нового в программирование под Windows в целом.

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

В open source мире с этим на первый взгляд проще, есть программы, разработка к-рых останавливается при достижении некоего идеала, и максимум что вносится это мелкие багфиксы. Либо же когда это действительно необходимо, выход новой версии ОС например, если под ней программа работает некорректно.

p.s. Тоже был глюк в 2010 со скачущим курсором вместо подсказки, в 2009-й такого не замечал. Зато закладки отладили
Приятен факт, что это первая современная версия код на к-рой совместим с предыдущей (новые, специфичные для этой версии фичи языка не в счет), качели с Юникодом позади.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 12.05.2010 в 04:10.
mutabor вне форума
Старый 12.05.2010, 23:04   #74
Rapid
Форумчанин
 
Аватар для Rapid
 
Регистрация: 01.09.2007
Сообщений: 747
По умолчанию

Вспомнилась притча.
Цитата:
Поспорили четыре глупых мастера, какой инструмент лучше: ножовка, бензопила, топор или ножовка по металлу.
Первый говорит -- ножовка по металлу лучше всего, ведь она режет даже железо, её нет соперников, а пила затупится и от гвоздя, да и она самая легкая, а вес тоже важен.
Второй: топор лучший, им можно тесать и рубить, а пилой будешь рубить дрова два часа.
Третий: бензопила самая крутая, деревья валит за минуту и пусть только кто пикнет.
Четвертый: обычная ножовка лучше: бензин не ест, легкая и не ломается как бензопила.
Ругаться они начали, ведь ума у них было как у 10-летних детей. Тут пришел умный человек и сказал, что каждый инструмент имеет недостатки и достоинства и недостатками и достоинствами определяется специализация.. Ножовка по металлу может резать твердое, но медленно пилит дерево, значит ей пилить железки, бензопила деньгозатратная, но быстро пилит, значит лучше использовать ее профессиональным лесникам, а не тем, кто ей раз в год пользуется. Топор отлично рубит вдоль и нормально поперек, значит им рубить дрова и деревья, но не пытаться сделать ровные доски с помощью топора.

Уважаемые холиварщики, не уподобляйтесь этим глупым мастерам и помните, что достоинства и недостатки любой вещи определяют её специализацию. Если б люди были умны не было б холиваров.
Никому не верьте.

Последний раз редактировалось Rapid; 12.05.2010 в 23:07.
Rapid вне форума
Старый 12.05.2010, 23:34   #75
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,091
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
Приходится не отставать.
В том то и дело, что инноваций в делфях в последние годы нет никаких. Добавляют только то, что в других языках уже многие годы существует.
Цитата:
Сообщение от mutabor Посмотреть сообщение
Смешно вспоминать как многие холиварщики раньше ругали Delphi, а теперь все лучшие решения оттуда воплощены в C#, да и в самом .NET
И что же там из лучшего взяли у делфей? На сколько я знаю, разработкой Windows Forms занимался дядька, который в своё время разрабатывал VCL для делфей. Принцип у них действительно один и похожи они как братья близнецы. Только вот WinForms - это очень маленькая часть от .NET и сейчас уже отходит на второй план, в связи с развитием WPF, у которого с делфями уже ничего общего нет.
Цитата:
Сообщение от mutabor Посмотреть сообщение
Все же Delphi привнес много нового в программирование под Windows в целом.
А теперь благополучно сводит концы с концами. Не выдержит он конкуренции с теми же шарпом и явой. Framework всё более распространен, с ява-машиной тоже проблем нет. Так что у делфей уже практически не остаётся преимуществ.
Цитата:
Сообщение от mutabor Посмотреть сообщение
А что касается нововведений в C#, то тут как и в любом бизнесе нельзя стоять на месте, нужно что-то новое выпускать, а то обгонят, хорошо если это полезные дополнения и приносят что-то действительно новое и интересное, но могут быть и высосанные из пальца новые функции, ради новых функций. И догоняющие будут всю эту муру встраивать у себя, т.к. это уже модно.
Шарпу это простительно. Язык еще не устоявшийся и активно развивающийся. Сделали вот сначала ДатаСеты, получился не айс, пошли дальше развивать, в итоге пришли к EntityFramework. В итоге имеем и то и другое на выбор. Никто не заставляет использовать новые технологии. Многие спецы тут вообще поступают следующим образом: текущие проекты реализуют на обкатанных технологиях и попутно разбираются с новыми сырыми еще фичами. Если получается что-то хорошее, то уже переходят на новшество.
Цитата:
Сообщение от mutabor Посмотреть сообщение
В open source мире с этим на первый взгляд проще, есть программы, разработка к-рых останавливается при достижении некоего идеала, и максимум что вносится это мелкие багфиксы. Либо же когда это действительно необходимо, выход новой версии ОС например, если под ней программа работает некорректно.
Или же добавляют новые фичи и делают программу платной. Тут вообще на любителя. Кто-то считает, что программа должна выполнять одну функцию и иметь одну большую красную кнопку для её выполнения, а кому-то подавай мегасофтину с кучей функций на все случаи жизни.
pu4koff вне форума
Старый 13.05.2010, 06:43   #76
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
А теперь благополучно сводит концы с концами. Не выдержит он конкуренции с теми же шарпом и явой. Framework всё более распространен, с ява-машиной тоже проблем нет. Так что у делфей уже практически не остаётся преимуществ.
Читал я в статье пятилетней давности .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Старый 13.05.2010, 15:56   #77
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
1) перегруженность синтаксиса
2) необходимость в велосипедах
в чем?
Цитата:
3) указатели
а в С++ их нет?
Цитата:
4) нет перегрузки операторов
жаль что нет, но можно и обойтись.
Цитата:
5) нечувствительность к регистру
соглашусь с Аригато, пишу всегда как в С++(регистрозависимо)
в С++ пока не встречал такого чтоб нужно было переменки i I обьявлять(один раз, но это программой назвать нельзя)
Цитата:
7) невозможно создать объект класса на стеке
вот это всетаки минус.
аргументирую.
выделение стековой памяти(точнее определение области для обьекта, ибо стек уже определен) происходит за инструкцию
Код:
sub esp,size
mov FS,esp//FS:TFileStream(просто для примера)..вроде не напутал ничего.
mov ecx,esp
call FS.init//допустим конструктор без параметров(по thiscall было бы так)
(или всетаки ebp?)
в то время как выделение простой памяти это дольше.

да и освобождение стека куда быстрее.

но в принципе у меня больше минус к самому классу TObject
много лишнего в нем, и это напрягает.

но и то, хочу потом посмотреть на record в последних Делфи.
а там виднее будет.

многие минусы можно обойти.


насчет обьявления переменных, это лишь формальность.
чуток мотнуть колесиком не трудно.
(правда если честно стока ошибок ловишь после упорного сидения в Сях)
вообще это связано с компилятором, в Делфи изза этого компиляция быстрее.
в С либо двухпроходка(с определением размера локальных переменных(чтоб выделить память разом)) либо подвыделение постепенно.

Рапид, в принципе согласен, я лично считаю что претензии должны быть аргументированы(я привел аргументы)
а иначе это лишь холивар.

как бы то ни было, языки не сами создают программы, а их создаем мы, программисты.
так что давайте будем делать хороший софт
да пребудем с нами сила.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 13.05.2010 в 16:01.
Пепел Феникса вне форума
Старый 13.05.2010, 16:02   #78
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
жаль что нет, но можно и обойтись.
Да есть перегрузка в Дельфи. Кто Вам сказал что нету? Слезьте с семерки уже и посмотрите.

Цитата:
но в принципе у меня больше минус к самому классу TObject
много лишнего в нем, и это напрягает.
Напишите свою версию TObject и наследуйтесь от нее. Или собирайте класс вручную. Все.

Цитата:
но и то, хочу потом посмотреть на record в последних Делфи.
а там виднее будет.
record как record, всем record'ам record
Код:
type
  TMyRecord = record
    type
      TInnerColorType = Integer;
    var
      Red: Integer;
    class var
      Blue: Integer;
    procedure printRed();
    constructor Create(val: Integer);
    property RedProperty: TInnerColorType read Red write Red;
    class property BlueProp: TInnerColorType read Blue write Blue;
  end;

constructor TMyRecord.Create(val: Integer);
begin
  Red := val;
end;

procedure TMyRecord.printRed;
begin
  writeln('Red: ', Red);
end;
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 13.05.2010 в 16:07.
Utkin вне форума
Старый 13.05.2010, 16:24   #79
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Напишите свою версию TObject и наследуйтесь от нее. Или собирайте класс вручную. Все.
разве TMyClass=class(TObject)
и TMyClass=class не одно и тоже уже?
Цитата:
Слезьте с семерки уже и посмотрите.
я на шестерке

сейчас не до этого(18-тилетие как никак), но позже то поставлю дополнительно версию новее.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 13.05.2010, 16:41   #80
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,091
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Читал я в статье пятилетней давности .
Ну и что они нового вводят? Ничего. Где новые технологии, продвигаемые делфями? Нету. Последние годы только успевают сильно не отставать и вводят примочки из других языков, т.е. добавляют синтаксический сахар и не более. Те же новшества в record - очередной показатель. В С++ подобное было всегда из-за особенностей его развития. Зачем это в Делфи добавили, лично я не понимаю.

Против TObject ничего не имею, но не вариант создавать свой заменитель:
1. Этого не получится, т.к. этот заменитель будет наследоваться от TObject'a
2. Множественное наследование отсутствует (это надеюсь еще не добавили в язык?), а соответственно будут неприятные ограничения в виде невозможности создать наследника какого-нибудь TButton.
pu4koff вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем вам нравиться программирование RIO Свободное общение 31 10.11.2009 12:14
Chart (Delphi). В чем ошибка? Chudo4258 Помощь студентам 2 27.03.2009 05:28
Логотип какого поисковика вам нравится больше? Hallo Свободное общение 7 26.06.2008 09:26
Что тебе нравится геймер? BedDog Свободное общение 19 23.03.2007 08:04