Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.18;
Скачать: CL | DM;

Вниз

7-я или 8-я?   Найти похожие ветки 

 
AlexShm ©   (2005-11-20 15:34) [0]

Добрый вечер! Вот сижу и думаю: что начать изучать:7-й или 8-й Delphi! В 8-й .Net какой-то, что он мне даст не знаю, но хочется сразу новое изучить чтоб потом не переучиваться? Что Вы мне посоветуете? Вообще нужно разрабатывать приложения для работы с базами данных..


 
Ruslan D   (2005-11-20 19:21) [1]

Изучай 2005, а еще лучше 2006. 7 - только для Вин32. 8 - только для .НЕТ,
а 2005,2006 для того и другого. Хотя изучать нужно язык программирования, а не  среду - каковой является Delphi. Я думаю тебе FreePascal + Lazarus с головой хватит.


 
Sergey Masloff   (2005-11-20 19:44) [2]

Ruslan D   (20.11.05 19:21) [1]
Лазарус - ф топку. По крайней мере на стадии обучения.
А так Free Pascal отличная среда для обучения


 
Eraser ©   (2005-11-20 19:58) [3]


> AlexShm ©   (20.11.05 15:34)

Всё зависит от того, какие задачи надо решать.
Я бы вообще посоветовал глянуть в сторону Visual Studio 2005, чтобы потом не мучиться.


 
Lamer@fools.ua ©   (2005-11-20 21:46) [4]

>Вот сижу и думаю: что начать изучать:7-й или 8-й Delphi!

Ни то, ни то. Начать с Си (без плюсов) и Паскаля.


 
Piter ©   (2005-11-20 21:51) [5]

Lamer@fools.ua ©   (20.11.05 21:46) [4]
Начать с Си (без плюсов)


почему это? Объекты - оно рулез.

А если уж с основ - тогда рекомендуй начинать с asm.


 
Lamer@fools.ua ©   (2005-11-20 21:54) [6]

>>Piter ©   (20.11.05 21:51) [5]

>почему это? Объекты - оно рулез.
Объекты - оно рулез, когда понимаешь, что такое присваивание, циклы, функции и т. п.

>А если уж с основ - тогда рекомендуй начинать с asm.
Начинать лучше с ЯВУ, а не с машинных.

Всё — IMHO.


 
Piter ©   (2005-11-20 22:23) [7]

Lamer@fools.ua ©   (20.11.05 21:54) [6]
Объекты - оно рулез, когда понимаешь, что такое присваивание, циклы, функции и т. п.


Присваивание, циклы, функции - оно рулез, когда понимаешь что такое стек, куча, регистры, передача параметров?


 
wicked ©   (2005-11-20 22:39) [8]

> Lamer@fools.ua ©   (20.11.05 21:46) [4]
> Lamer@fools.ua ©   (20.11.05 21:54) [6]
полностью поддерживаю.....

> Piter ©   (20.11.05 22:23) [7]

> Присваивание, циклы, функции - оно рулез, когда понимаешь
> что такое стек, куча, регистры, передача параметров?

аналогия полностью некорректна.... садись....


 
Lamer@fools.ua ©   (2005-11-20 22:46) [9]

>>Piter ©   (20.11.05 22:23) [7]

>Присваивание, циклы, функции - оно рулез, когда понимаешь что такое стек, куча, регистры, передача параметров?
Не помешает. Но начинать можно и не с этого. А можно и с этого — польза всяко будет.

З.Ы.
Мне тут недавно один программист (причём неплохой) пытался доказать (он видите ли вычитал в какой-то статье или шо-то такое), что преинкремент работает быстрее постинкремента (или наоборот, не помню), причём в простом операторе, а не в выражении.

То есть типа
++a;
работает быстрее, чем
a++;
(ну, или наоборот).

Я ему сначала аргументами пытался доказать, что разницы быть не может, но он не понимал. Тогда я ему в дизассемблере показал, что разницы нет. Но он, по-моему, так и не осознал, что её действительно нет и не могло быть (разве что, если компилятор очень кривыми руками был бы написан), ибо не знает, что "ASM есмь бог" :-)

Так что, по большому счёту: да, начинать стОит с ассемблера и устройства компьютера и базовой периферии.


 
wicked ©   (2005-11-20 22:48) [10]

добавлю еще такое имхо - ассемблер(ы) нужно основательно изучать уже под конкретную платформу, под конкретную, аппаратную, задачу....
для "научиться программировать" он сначала не нужен (подразумевается x86), а возможно, в чем то и вреден - x86 - не самая удачная архитектура....
потом, с ростом опыта, знать его можно, но совсем не обязательно....


 
Gero ©   (2005-11-20 22:52) [11]


> аналогия полностью некорректна.... садись....

Это точно.


 
Piter ©   (2005-11-21 11:42) [12]

Lamer@fools.ua ©   (20.11.05 22:46) [9]
То есть типа
++a;
работает быстрее, чем
a++;


честно говоря, не в курсе чем отличается ++a от a++ :)

Но вот возьмем, например, Delphi:

1) i := i + 1;
2) inc(i);

два выражения делают одинаковые вещи. И в дизасме будет одно и тоже. НО только при включенной оптимизации. НАсколько помню, при выключенной оптимизации второе выражение будет "эффективнее".
Может, и в C такое есть? Может, там если что отключить - то ++a и a++ тоже будут разными операторами?

wicked ©   (20.11.05 22:39) [8]
аналогия полностью некорректна.... садись....

Gero ©   (20.11.05 22:52) [11]
Это точно.


ну не знаю. Зачем предлагается учить без объектов? Чтобы с азов начинать. Чтобы сначала алгоритмическое программирование постичь, функции там, процедуры, не отвлекаясь на не везде простую идеологию ООП.
А потом уже и за объекты пересесть. Так?

Но если уж начинать с азов - то это ведь asm? В конце концов - человек же должен представлять, что такое MyFunc(TestValue, ht_desct, ...) - что происходит то?

Что, в частности, параметры могут быть запиханы в стек, потом передано управление по определенному адресу, там они извлечены из стека - на асме все это наглядно и понятно.
И не возникает вопросов - а что такое stdcall; pascal; и т.д.
Да и кучи вопросов не возникнет после изучения.

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

Что ему отвечают? Зачастую отвечают - а посмотри в CPU Window - а что у нас там Правильно, asm. Так что несмотря на неиспользуемость asm в чистом виде, необходимость его знать присутствует даже при программировании на ЯВУ.

Так что аналогию считаю вполне корректной.


 
Lamer@fools.ua ©   (2005-11-21 12:10) [13]

>>Piter ©   (21.11.05 11:42) [12]

Знать ASM — это, конечно, кульно и рульно. Только встаёт вопрос: который из них?

Хотя для понимания основ работы процессора, по большому счёту, подойдёт почти любой из десктопных, IMHO.


 
jack128 ©   (2005-11-21 12:32) [14]

Piter ©   (21.11.05 11:42) [12]
Но вот возьмем, например, Delphi:

1) i := i + 1;
2) inc(i);

два выражения делают одинаковые вещи. И в дизасме будет одно и тоже. НО только при включенной оптимизации. НАсколько помню, при выключенной оптимизации второе выражение будет "эффективнее".


Не-а
{$o-}
procedure TForm1.Button1Click(Sender: TObject);
var
 i: Integer;
begin
 i := 0;
//  Inc(i);
 i := i + 1;
 ShowMessage(IntToStr(i));
end;
{$o+}
По крайней мере в семерке.  Но потенциально - да, (возможно в ранних версиях D так и было) могут выполняться позному, если i := i + 1 выполнять через асмовский add, а не inc.  Причем причина подобного различия была бы более менее понятна.


 
begin...end ©   (2005-11-21 13:11) [15]

> Piter ©   (21.11.05 11:42) [12]

> два выражения делают одинаковые вещи

Вопрос с заковыкой: а ЧТО они делают? :-)

> Может, там если что отключить - то ++a и a++ тоже будут
> разными операторами?

Не надо ничего отключать. Они и так разные.

> Чтобы сначала алгоритмическое программирование постичь,
> функции там, процедуры, не отвлекаясь на не везде простую
> идеологию ООП...
> Но если уж начинать с азов - то это ведь asm?

Не-а. Asm -- это уже технические детали. И начинать надо, как ты и сказал вначале, с алгоритмов. Не отвлекаясь ни на объекты, ни на технические детали.


 
AlexShm ©   (2005-11-21 14:02) [16]

Спасибо, но я так ничего для себя и не понял. Дело в том, что у меня имеются только эти ДВЕ среды разработки, ну и VB. Вопрос такой: стоит ли изучать сразу .NET?


 
Sandman29 ©   (2005-11-21 15:45) [17]

AlexShm ©   (21.11.05 14:02) [16]

Вопрос такой: стоит ли изучать сразу .NET?

ИМХО ответ заключен в самом вопросе :)


 
DiamondShark ©   (2005-11-21 15:51) [18]


> Начать с Си (без плюсов)

Зачем начинать с плохого?


 
DiamondShark ©   (2005-11-21 15:57) [19]


> Piter ©   (20.11.05 22:23) [7]

Передёргиваешь.


 
DiamondShark ©   (2005-11-21 16:02) [20]


> Может, там если что отключить - то ++a и a++ тоже будут
> разными операторами?

Эхе-хех...
Пред- и постинкремент -- это операции с побочным эффектом, и вообще, с довольно навороченной семантикой.
Во что превращается та или другая сильно зависит от сложности выражения, в которое они входят, от места в выражении и хз ещё от чего.

Долой скрытую сложность!


 
Piter ©   (2005-11-21 18:55) [21]

DiamondShark ©   (21.11.05 15:57) [19]
Передёргиваешь.


возможно. Я просто хотел понять логику.

Если логика - начинать с азов, то это то, что раньше ЮРИЙ ЗОТОВ писал. То есть, начинать надо с битовых операций, с калькулятора, с общей информатики.

Потом ASM.

Потом некое алгоритмическое процедурное программирование - паскаль или си, например.

Потом уже концепции ООП.

Если же начинать не с азов - так почему не начать с ООП? Не вижу логики.


 
ANB ©   (2005-11-21 19:13) [22]

Вот учил я ассемблер. Благо, что не первый язык был - первым я PL/1 учил. И доволен, так как один хрен бы ничего сразу не понял. И толку с того ассемблера, если он под IBM370 ? А после PL/1 влегкую паскаль пошел и Си. Когда мне x86 ассемблер понадобился - тогда и выучил. Все имхо.


 
Algol   (2005-11-21 19:55) [23]

Если же говорить об подготовке профессиональных програмистов, то изучать нужно безусловно и ООП и ASM - но только как разные предметы вообще )). Программировние уже давно является развитой индустрией, с множеством отдельных и независимых направлений. И сводить изучение программирования к изучению какого-либо языка - нельзя.


 
Gero ©   (2005-11-21 20:27) [24]


> И сводить изучение программирования к изучению какого-либо
> языка - нельзя.

Не только языка, но и архитектуры.


 
ANB ©   (2005-11-21 20:49) [25]


> Gero ©   (21.11.05 20:27) [24]

Архитектуры чего ?


 
Gero ©   (2005-11-21 20:54) [26]


>  ANB ©   (21.11.05 20:49)

Аппаратного обеспечения.


 
begin...end ©   (2005-11-21 21:11) [27]

> Piter ©   (21.11.05 18:55) [21]

> Если логика - начинать с азов...

...то нужно вначале определиться, что такое азы программирования.

Ты и вправду считаешь, что азы программирования -- это знание ассемблера? Кстати, какого? И почему именно ассемблера, а не программирования в машинных кодах? Ведь современные трансляторы ассемблера позволяют использовать много средств, облегчающих написание кода -- вдруг это уже не азы?

И это... рассказал бы, с чего начинал ты. И, главное, почему.


 
ANB ©   (2005-11-21 21:14) [28]


> Gero ©   (21.11.05 20:54) [26]

Нас учили архитектуре IBM 370 - много мне это помогло ?
Имхо - надо читать дедушку Вирта. А частные реализации оставить на потом.


 
Gero ©   (2005-11-21 21:16) [29]


> ANB ©   (21.11.05 21:14)

А я о чем говорю? Внимательнее читай посты.


 
ANB ©   (2005-11-21 21:17) [30]


> Gero ©   (21.11.05 21:16) [29]

Тьфу, извини. Мы одно и тоже талдычим.


 
Аноним   (2005-11-25 11:21) [31]

Давно на этом форуме не был случайно заглянул. Интересно тут общение продвигается - появляется человек, который стпрашивает, что хочет он изучать. Большинство разговоров напоминает, вот начинай с машинных кодов, а потом... А когда это потом будет? Большинство людейздесь с опытом отягощены кучей знаний, знания они полезны, но скажите какой резон сейчас человеку садиться на чистый си или ассемблер. Чтоб он обладал только академическими знаниями в течении пары лет?
Вспоминается история про боевые искусства, есть ушу, но чтоб быть лучше тебе надо заниматься дольше, лет 10 долгих изучений, и потом можно прийти к конечной цели и быть лучше всех, а есть бокс 3 года и на улице ты можешь банально большинству дать в глаз.
Сейчас нужно изучать то, что будет потом, а потом уже по мере возможностей изучать то что было.


 
Lamer@fools.ua ©   (2005-11-25 11:47) [32]

>Сейчас нужно изучать то, что будет потом, а потом уже по мере возможностей изучать то что было.

Тогда в школе нужно сразу начинать учить матанализ. А арифметику и алгебру уж как-нибудь потом по мере возможностей.


 
Piter ©   (2005-11-25 12:46) [33]

Lamer@fools.ua ©   (25.11.05 11:47) [32]

ну Аноним частично прав. Невозможно знать всю технологическую линейку.

Не надо впадать в крайности, нужен некий баланс.

Как в приведенном примере - чтобы изучать бокс вовсе не нужно знать ушу.

А в твоем примере - нельзя сразу изучать матанализ, поэтому надо начинать с истоков.


 
Аноним   (2005-11-25 13:37) [34]

>Lamer@fools.ua

Я имел ввиду, что если человек уже вырос и сформировался и ему скоро предстоит нормально работать, то нужны технологии, которые займут место в будущем, а не те, что часто нужны только при определенных случаях.

А вопрос первоначально был мне показалось, что человеку СЕЙЧАС надо написать базу данных и уже определн круг техсредств, которыми он может манипулировать. И на чем это делать и куда идти.

А всеобщее мнение ты не знаешь ассемблер - все ты лох позорный иди отсыда сначала ассемблер поизучай с си, а потом уже опыта понаберешься. А то что ты хочешь сделать может несколько лет подождать.


 
Igorek ©   (2005-11-25 14:02) [35]


> wicked ©   (20.11.05 22:39) [8]
> Gero ©   (20.11.05 22:52) [11]


> аналогия полностью некорректна.... садись....

Аналогия полностью корректна. "2" обоим. :)


 
AlexShm ©   (2005-11-25 14:08) [36]


> А вопрос первоначально был мне показалось, что человеку
> СЕЙЧАС надо написать базу данных и уже определн круг техсредств,
>  которыми он может манипулировать. И на чем это делать и
> куда идти.

Да, спасибо за такое до мозга костей понимание! Дело в том, что в годы учебы в университете ( я инженер-технолог) я решал прикладные задачи на VB и мне этого более чем хватало...Сейчас я работаю в конторе, которая имеет дело с базами данных, работать с которыми не очень удобно. Вот я и хочу помочь себе и коллегам. Поэтому изучать ассемблер некогда. Поэтому, друзья, на ЧЕМ мне это лучше сделать?


 
Igorek ©   (2005-11-25 14:29) [37]


> Поэтому, друзья, на ЧЕМ мне это лучше сделать?

См. ответ [3]. А VB смени на С#.


 
Lamer@fools.ua ©   (2005-11-25 14:31) [38]

>Я имел ввиду, что если человек уже вырос и сформировался и ему скоро предстоит нормально работать, то нужны технологии, которые займут место в будущем, а не те, что часто нужны только при определенных случаях.

Нужны не технологии, а фундаментальные знания. Технологии, как и языки программирования, изучаются по мере интереса и/или необходимости. Причём при наличии вышеуказанных фундаментальных знаний, это не занимает много времени. Всё — IMHO.


 
wicked ©   (2005-11-25 15:51) [39]

> AlexShm ©   (25.11.05 14:08) [36]

> Да, спасибо за такое до мозга костей понимание! Дело в том,
>  что в годы учебы в университете ( я инженер-технолог) я
> решал прикладные задачи на VB и мне этого более чем хватало.
> ..Сейчас я работаю в конторе, которая имеет дело с базами
> данных, работать с которыми не очень удобно. Вот я и хочу
> помочь себе и коллегам. Поэтому изучать ассемблер некогда.
>  Поэтому, друзья, на ЧЕМ мне это лучше сделать?

это надо было сказать в заглавном посте..... тогда и ответ был бы типа "берись за дельфи 5, 6, 7... "..... лично я бы посоветовал 5 или 6.......
на самом деле в большинстве разницы никакой, на какой из последних версий писать....

> Igorek ©   (25.11.05 14:02) [35]
> > wicked ©   (20.11.05 22:39) [8]
> > Gero ©   (20.11.05 22:52) [11]
>
>
> > аналогия полностью некорректна.... садись....
>
> Аналогия полностью корректна. "2" обоим. :)

убеди меня и я соглашусь....
это не функциональное программирование, которое "ни на что не похоже".... это ООП, базирующееся на структурном программировании..... и без знания основ структурного программирования знание ООП будет "зазубренным".......
а с использованием ООП можно и на си простеньком писать.... вот у меня типичный пример перед глазами - ming (http://sf.net/projects/ming)....


 
Piter ©   (2005-11-25 19:33) [40]

wicked ©   (25.11.05 15:51) [39]
убеди меня и я соглашусь....


ха! :)))

Презумпция своей правоты :)))



Страницы: 1 2 вся ветка

Текущий архив: 2005.12.18;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.049 c
14-1133149077
Nic
2005-11-28 06:37
2005.12.18
С днём рождения 28 ноября!


2-1133344255
JTAG
2005-11-30 12:50
2005.12.18
Помогите разобраться с исключительной ситуацией


14-1132792870
Джо
2005-11-24 03:41
2005.12.18
Правильная реклама ПО


10-1109635929
GanibalLector
2005-03-01 03:12
2005.12.18
утилита Tlibimp


1-1132669205
Sandman29
2005-11-22 17:20
2005.12.18
CM_Hint Show обязателен?