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

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

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

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

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

Результаты опроса: Помогла ли вам данная книга
Да 1 5.56%
Нет 17 94.44%
Голосовавшие: 18. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 00:05   #41
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
так может быть учится сразу с#?что голову ломать с с++
А почему бы и нет...уж очень правильный язык С#...
А с С++ голову ломать не надо, там просто нужно сесть и разобраться...та вобщем-то это везде так...)))
з.ы. ухожу, ибо смотрю холивар наступает...)))
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 12.05.2011, 04:32   #42
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Хорошо, пойдем от противного:
Цитата:
Сообщение от *PB* Посмотреть сообщение
По началу должно быть просто.
А то, что делаешь ошибки в коде, со временем сам поймешь.
ИМХО бейсик проще.
докажите - чем бейсик проще паскаля? и почему, по вашему "простой" бейсик (или какой-другой язык), лучше для изучения программирования?

Цитата:
Сообщение от *PB* Посмотреть сообщение
Наверное потому что они кроме паскаля 40 летней давности больше ни чего не знают - вот и преподают его.
пустословите, или это ваши наблюдения, или чьи то чужие статистические данные? Ссылку тогда будьте добры на результат данных исследований.

Цитата:
Сообщение от Эдсгер Дейкстра
«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации»
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 12.05.2011 в 04:43.
Sparkman вне форума Ответить с цитированием
Старый 12.05.2011, 12:56   #43
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Ну все тему можно прикрывать - война Бейсик vs Паскаль
Насчет Дейкстры - хватит молиться на идолов и иногда думайте сами. Мой первый язык программирования был Бейсик (были такие компьютеры - Агаты). Потом Дельфи, сейчас С#. Мой код конечно не идеальный, но ни чем не уступает многим из здешних обитателей.
Само словосочетание "хорошее программирование" абсурдно по своей сути. Если бы оно существовало в каком-либо языке программирования, то он очень скоро остался бы единственным используемым языком. Думаю должно сразу становится понятным, что спорить о "лучшести" того или иного языка бессмысленно.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 12.05.2011 в 13:00.
Utkin вне форума Ответить с цитированием
Старый 12.05.2011, 14:25   #44
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Сообщение от Sparkman Посмотреть сообщение
докажите - чем бейсик проще паскаля? и почему, по вашему "простой" бейсик (или какой-другой язык), лучше для изучения программирования?
Это же элементарно Ватсон.
У бейсика синтаксис по проще будет чем у паскаля, поэтому его проще понять и освоить.
Давайте не будет сравнивать "динозавров", а возьмем в качестве примера современные реализации бейсика и паскаля, пусть бейсиком будет PureBasic, а паскалем, FreePascal либо Дельфи.
Теперь сравним синтаксис.

Вывод мессаги на экран.
PureBasic.
Код:
MessageRequester("","мессага")
Дельфи
Код:
program Minimize;
uses Windows,Messages;

begin
  ShowMessage('мессага');
end.
По моему, на дельфи (паскале) в коде много лишнего, без которого (как оказалось сравнивая с бейсиком) можно обойтись!

Смотрим дальше. Создание иконки в трее.
Дельфи.
Код:
function TaskBarAddIcon( hWindow : THandle; ID  : Cardinal;
 ICON : hicon; CallbackMessage : Cardinal; Tip  : String ) : Boolean;
var
 NID : TNotifyIconData;
begin
 FillChar( NID, SizeOf( TNotifyIconData ), 0 );
 with NID do begin
  cbSize := SizeOf( TNotifyIconData );
  Wnd   := hWindow;
  uID    := ID;
  uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
  uCallbackMessage := CallbackMessage;
  hIcon  := Icon;
  if Length( Tip ) > 63 then SetLength( Tip, 63 );
  StrPCopy( szTip, Tip );
 end;
 Result := Shell_NotifyIcon( NIM_ADD, @NID );
end;
На PureBasic этот код будет таким
Код:
Procedure TaskBarAddIcon(hWindow, ID, ICON, *CallbackMessage, Tip.s)
  NID.NotifyIconData
  
  FillMemory(@NID, SizeOf(NotifyIconData), 0)
  
  With NID
    
    \cbSize = SizeOf(NotifyIconData)
    \hWnd   = hWindow
    \uID    = ID
    \uFlags = #NIF_MESSAGE | #NIF_ICON | #NIF_TIP
    \uCallbackMessage = *CallbackMessage
    \hIcon  = Icon
    
    If Len(Tip) > 63
      Tip = Left(Tip, 63)
    EndIf
    
    CopyMemory(@Tip, @\szTip, Len(Tip))
    
  EndWith
  
  ProcedureReturn Shell_NotifyIcon_(#NIM_ADD, @NID )
EndProcedure
Хотя его можно упростить до одной строки, использовав кроссплатформенную функцию AddSysTrayIcon.
Код:
Result = AddSysTrayIcon(#SysTrayIcon, WindowID, ImageID)
Вот теперь лично мне не понятно (тем кто только учится программировать наверное тоже), зачем почти после каждой строки нужно ставить точку с запятой, если можно без этого обойтись (см. пример на бейсике)?
Зачем при присвоении данных переменной, нужно ставить двоеточие?
Почему почти все оканчиваться одним и тем же (оператором end; ) ведь это усложняет чтение кода!
Ведь можно было придумать скажем для with, оператор endwith.
Да и зачем вообще нужен begin, ИМХО вообще лишний и новички в программировании не понимают для чего он.

Вот поэтому бейсик проще, у него более понятный синтаксис, без всяких "лишних" операторов и с нормальными именами последних.

Цитата:
Сообщение от Sparkman Посмотреть сообщение
«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации»
Полнейший бред!
Этому высказыванию наверное уже лет 50 и оно давно уже потеряло смысл!
Да и вообще, зачем ориентироваться на мнение одного человека? Вы уверены что он прав?

Последний раз редактировалось *PB*; 12.05.2011 в 14:32.
*PB* вне форума Ответить с цитированием
Старый 12.05.2011, 14:51   #45
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

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

Код:
program Minimize;
uses Windows,Messages;
для чего создаются пару файлов в папке с проектом, что они значат и как работатает редактор + расскажу и покажу простые методы отладки.

Я люблю Delphi за то что всё чётко и по правилам. Всё что делфи дописывает в программу без моего ведома, мне кажется очевидным и понятным. Нет никаких секретов и вопросов.

Цитата:
По моему, на дельфи (паскале) в коде много лишнего, без которого (как оказалось сравнивая с бейсиком) можно обойтись!
Просто "ктото" допишет всё это за тебя. И этот ктото сам бейсик.


Я не понимаю причину спора, потому что любой человек может поставить любой ЯП, взять книжку (коих в магазине как грязи) и за неделю уже спокойно понимать что он делает и что он пишет. Для этого не надо быть суперботаном и иметь уникальные способности. Любой человек может научиться любому ЯП.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 12.05.2011, 14:56   #46
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
Вот теперь лично мне не понятно (тем кто только учится программировать наверное тоже), зачем почти после каждой строки нужно ставить точку с запятой, если можно без этого обойтись (см. пример на бейсике)?
что бы можно было писать
n:=1; n2:=n+1; в одной строке
Зачем в русском (и не только) языке есть точка(.)? может быть обойдемся абзацем или новой строкой?
Цитата:
Зачем при присвоении данных переменной, нужно ставить двоеточие?
чтобы легко читать(понимать) такое
a:=(b=1);

в примере delphi
Код:
  if Length( Tip ) > 63 then SetLength( Tip, 63 );
  StrPCopy( szTip, Tip );
заменяем на
Код:
  tip:=left(tip,63); 
или  же
tip:=copy(tip,1,63);
и чем теперь basic отличается от Delphi.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 12.05.2011 в 15:08.
evg_m вне форума Ответить с цитированием
Старый 12.05.2011, 15:22   #47
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Я не понимаю причину спора
А ни кто не спорит.
Это просто был ответ Sparkman на его высказывание
Цитата:
докажите - чем бейсик проще паскаля? и почему, по вашему "простой" бейсик (или какой-другой язык), лучше для изучения программирования?
Я вовсе не пытаюсь доказать что один язык лучше чем другой. Если кто-то использует язык для создания программ, то это нужный язык и с этим глупо спорить.
Я не пишу что паскаль (дельфи) "плохой язык". Это не так.
Просто показал на примерах что у бейсика синтаксис проще и все.

Цитата:
Я люблю Delphi за то что всё чётко и по правилам.
На вкус и цвет все фломастеры разные - каждый использует то, что ему больше нравится.

Цитата:
Просто "ктото" допишет всё это за тебя. И этот ктото сам бейсик.
А вот в этом вы ошибаетесь.
Компилятору передается только одна строка без самодеятельности со стороны компилятора или редактора. И кстати, размер скомпилированной программы всего 4 КБ.



Цитата:
что бы можно было писать
n:=1; n2:=n+1; в одной строке
В бейсике подобное тоже можно сделать и без точки с запятой в каждой строке
Код:
n=1 : n2=n+1

Последний раз редактировалось *PB*; 12.05.2011 в 15:24.
*PB* вне форума Ответить с цитированием
Старый 12.05.2011, 15:58   #48
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Ну приехали.

Цитата:
А вот в этом вы ошибаетесь.
Компилятору передается только одна строка без самодеятельности со стороны компилятора или редактора. И кстати, размер скомпилированной программы всего 4 КБ.
А если открыть эти две программы в Hex, что там будет? Не будет ли и там и там вызов API функции MessageBox?

Я не интересовался бейсиком, но вроде как он использует целую кучу спец библиотек винды. Не будет этой библиотеки и не будет ничего работать. Делфи же всё нужное запихивает в екзешник. Отсюда и вес.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 12.05.2011, 16:17   #49
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Код:
А если открыть эти две программы в Hex, что там будет? Не будет ли и там и там вызов API функции MessageBox?
Если компилировать под винду, то конечно же будет а если под Linux, MacOS X или AmigaOS, то естественно что будут вызовы других функций, специфичных для конкретной платформы.
EXEшник в архиве. Можете открыть его в HEX-редакторе и посмотреть как он устроен.

Цитата:
Я не интересовался бейсиком, но вроде как он использует целую кучу спец библиотек винды. Не будет этой библиотеки и не будет ничего работать. Делфи же всё нужное запихивает в екзешник. Отсюда и вес.
В этом вы не правы. Любое виндовс-приложение и (дельфи не исключение) вызывает WinAPI функции.
Если вы имеете в виду runtime, то PureBasic его не использует, а все необходимое запихивает в исполняемый файл.
А небольшой вес объясняется тем, что линкуются не все подряд библиотеки, а только реально используемые. Вот и весь секрет.
В делфи с этим дела обстоят похуже, раз исполняемый файл так много весит.
Вложения
Тип файла: rar мессага.rar (1.5 Кб, 10 просмотров)
*PB* вне форума Ответить с цитированием
Старый 12.05.2011, 20:01   #50
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Сообщение от Sparkman Посмотреть сообщение
«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации»
На это могу ответить цитатой из вики (раздел "Критика") http://ru.wikipedia.org/wiki/BASIC

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

Одной из «визитных карточек» Эдсгера Дейкстры стало высказывание: «Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации». Однако, это высказывание цитируется вне контекста, в котором Дейкстра подверг критике и многие другие популярные в то время языки.

Кроме того, критики Бейсика часто игнорируют тот факт, что он создавался в качестве отнюдь не инструмента профессиональной разработки сложных программ, а средства, с помощью которого студенты-непрограммисты смогут писать простейшие программы. Если же говорить о современных диалектах и реализациях Бейсика, то они далеко ушли от первоначальной формы языка, являются более структурированными и сопоставимы по возможностям с такими языками, как Си, Паскаль и т. п.
*PB* вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вот и делай людям добро... vasek123 Свободное общение 35 12.12.2010 01:38
Людям, в Excel разбирающимся Oleg77 Помощь студентам 2 07.02.2010 02:15
Помогите определится с выбором языка. Magnetiq Помощь студентам 3 15.03.2009 21:57