Наставте на верный путь (Имееться желание, но пока что не имееться знаний)

Модератор: Модераторы разделов

BlackAngel
Сообщения: 73
ОС: Разные...

Наставте на верный путь

Сообщение BlackAngel » 31.10.2007 17:13

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

Подскажите где и какой взять дистрибутив языка программирования или может в моём дистрибутиве уже всё есть. Где взять минимальную но качественную документацию (где всё кратко и информативно) по синтаксису, компиляции и запуску програм.

Говорят PHP явление СИ'подобное, да и наверное это (си++) лучший из лучших языков программирования высокого уровня, поэтому я склоняюсь к нему.

Вообще я уже это проходил, главное преодалеть некий стартовый барьер, а дальше цепная реакция которую остановить невозможно, подскажите пожалуйста как именно на никсах мне преодалеть этот стартовый барьер, проще говоря как начать :rolleyes: .
Спасибо сказали:

Аватара пользователя
spi
Сообщения: 10

Re: Наставте на верный путь

Сообщение spi » 31.10.2007 18:08

Компилятор уже есть в дистрибутиве, и называется gcc.
Начать нужно купив книжку по си или по си++. ИМХО начать с си легче и книжка есть хорошая от создателей языка - "Керниган, Ричи. Язык C". Лучшее ее купить и по мере чтения пробовать все примеры данные в книжке.
Спасибо сказали:

Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: Наставте на верный путь

Сообщение BlackStar » 31.10.2007 18:21

ИМХО начать нужно с "С", а для высокоуровнего программирования - Python.
LightLang Team
Спасибо сказали:

BlackAngel
Сообщения: 73
ОС: Разные...

Re: Наставте на верный путь

Сообщение BlackAngel » 01.11.2007 09:22

spi писал(а):
31.10.2007 18:08
Компилятор уже есть в дистрибутиве, и называется gcc.
Начать нужно купив книжку по си или по си++. ИМХО начать с си легче и книжка есть хорошая от создателей языка - "Керниган, Ричи. Язык C". Лучшее ее купить и по мере чтения пробовать все примеры данные в книжке.


Ну на то уж пошло то чем отличаються си и си++? А главное чем отличаеться в них программирование?
Спасибо сказали:

Аватара пользователя
Liksys
Сообщения: 2910

Re: Наставте на верный путь

Сообщение Liksys » 01.11.2007 09:48

C++ - объектно-ориентированный, но в нем куча мусора и нелогичностей для обратной совместимости с C, именно поэтому я C++ нелюблю (равно как и C# в его существующей реализации). Для высокоуровневого объектно-ориентированного программирования надо брать Python.
Спасибо сказали:

Аватара пользователя
Zeus
Сообщения: 694

Re: Наставте на верный путь

Сообщение Zeus » 01.11.2007 10:01

BlackAngel
Не слушай никого: въезжай в С - родной язык Unix/LInux, а дальше - сам определишься куда двигаться, годик-два у тебя будет :laugh:
Спасибо сказали:

Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение deninok » 01.11.2007 12:32

(BlackAngel) писал(а):Ну на то уж пошло то чем отличаються си и си++? А главное чем отличаеться в них программирование?

Весьма и весьма сильно отличаются. Исторически С++ был создан на основе С и в начале представлял из себя "С с классами". Однако в последствии он стал развиваться как самостоятельный язык. Сейчас это два разных языка, несмотря на сохраненную (неполную) совместимость С++ с С.
С++ гораздо мощнее С и предоставляет куда как более широкие возможности. Однако необходимо понять, что если вы хотите использовать С++ профессионально, то на его изучение потребуется немало времени и сил. С другой стороны, для того, чтобы начать использовать на практике многие возможности С++ на том уровне, какой необходим большинству программистов, десять талмудов читать не надо. Если вы не собираетесь быть экспертом С++ или разработчиком С++-ного компилятора, то вам достаточно несколько книг (могу посоветовать) - и вперед.
Спасибо сказали:

Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение deninok » 01.11.2007 12:39

(Liksys) писал(а):C++ - объектно-ориентированный

Неправда. Очень распространенное заблуждение. С++ - это мультипарадигменный язык. То есть поддерживающий несколько парадигм (подходов) программирования. И объектно-ориентированная парадигма - лишь одна из них.

(Liksys) писал(а):но в нем куча мусора и нелогичностей для обратной совместимости с C...

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

(Liksys) писал(а):Для высокоуровневого объектно-ориентированного программирования надо брать Python.

Да, Python - прекрасный язык. Значительно более простой синтаксис, чем, например, у С++. Однако за простоту и гибкость этого языка придется платить. Платить повышенной внимательностью программиста, ибо интерпретатор Python может позволить вам совершить такие ошибки, с которыми ой как намучиться придется...
Python для некоторых целей подходит, разумеется, гораздо лучше, чем С или С++. Одно из главных преимуществ - скорость разработки приложения.
Кстати, Python обладает прекрасной совместимостью с С.
Ну, разумеется, в силу того, что Python - язык интерпретируемый, он значительно медленнее, чем С и С++. Поэтому его применение не столь универсально. Для приложений, критичных к скорости выполнения, он совершенно не подходит.
Спасибо сказали:

Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение deninok » 01.11.2007 12:45

(Zeus) писал(а):Не слушай никого: въезжай в С - родной язык Unix/LInux...

Ну и что, что он родной? Язык С является родным для Unix в силу того, что ядро этой операционной системы написана на С. Но мы же говорим о прикладном программировании, не так ли? Конечно, если автор темы собирается писать драйверы под LInux, тогда без С никуда. Однако автор не уточнил, что именно он собирается создавать? Ведь выбор конкретного языка программирования очень сильно зависит от того, что собираешься программировать. А то ведь есть такие сегменты разработки ПО, в которых единственно возможный язык - это ассемблер...

И кстати. Многие новички думают, что раз С++ был основан на С (хотя это и не совсем так, поскольку был еще взят язык Simula), то перед изучением С++ необходимо изучить С. Однако это совершенно не так! Я, к сожалению, тоже пошел этим путем, но сам Страуструп (создатель С++) очень рекомендует начать изучать С++ как отдельный, самостоятельный язык. Дело в том, что, изучив С, а потом перейдя к С++, у большинства программистов (у меня тоже) остается привычка от С. И получается, что на С++ начинают программировать в стиле С. А это плохо, потому что не дает почувствовать всю мощь С++. Хотя использовать С++ как "улучшенный С", в принципе, допустимо.
Спасибо сказали:

sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Наставте на верный путь

Сообщение sergio » 01.11.2007 14:09

deninok писал(а):
01.11.2007 12:39
(Liksys) писал(а):но в нем куча мусора и нелогичностей для обратной совместимости с C...

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

Насчет мусор - это Liksys пусть расскажет. :happy: Что до архаических нелогичностей - если вы не диленант, ты вы прекрасно их знаете. Вот две из них:
main() { ... }
void main() { ... }
int* a, b, z, x[], *c[], *d() ;
Две другие исправили например в ява:
int a ;
int [size] aa ; вместо int aa [size] ; - запись куда логичнее.
И
int function(void) ; вместо int function() ;
Меня в действительности раздражает только последняя, остальные не мешают ибо не использую. Заменяя аргументый вызов безаргументным для автоматического объекта, я, так же как при размещении через нью, хочу стереть аргумент и оставить пустой вызов:
MyClass* p = new MyClass(a, b) ;
MyClass mc(a, b) ;
MyClass* p = new MyClass(a) ;
MyClass mc(a) ;
MyClass* p = new MyClass() ;
MyClass mc() ; // авотхренвамвсем
...и не получать каждый раз малопонятные вопросы от компилятора о чем-то совершенно постороннем.

Есть и другие "нестройности" в языке, нарушающие единообразие. Но те обоснованы практически. А вот это все - поддержка совместимости с допотопным кодом, который давно могли поправить или скормить компилятору прагму, чтобы щадил его, или поддержка уродов-лентяев, которым лень пару букв дописать где надо.
Сюда же отнесем и милый недо-тип bool.

Что до изучения С или С++ вначале - учить надо оба. И знание С++ без понимания, как это все реализовать на Си, т.е. без понимания, как используемое вами реализуется в элементарном коде и управлении памятью - порождает самый махровый дилетантизм. Примеры кода, где люди на плюсах пишут прогу в 2К+ строк с использованием всего СТЛ, которая делает то же, что решение "упраждения" из К-н-Р сишным кодом в 100 строк - я на SF.net видел. Код, где из функций возвращаются vector<vector<string> > byvalue - я тоже видел. И еще много разного. :happy:
Так что С++ конешно мультипарадигменный язык, но и утверждение, что он высоко уровня - тоже неверно. :happy: По сути, он как был макронадстройкой над си (который суть макронадстройка над ассемблером) - так ею и остался. Хочешь работать - изволь знать, соображать и учитывать. Кто хочет "работать высокоуровнево и не задумываясь о деталях реализации" - тот пусть лучше в яву или пайтон лезет - там меньше возможностей глупости наделать при "высокоуровневом" подходе. :happy:
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:

Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение deninok » 01.11.2007 14:40

(sergio) писал(а):main() { ... }
void main() { ... }

Такая форма записи функции main() неправильна в С++, и никогда не была правильной. Так не нужно писать - и все.

(sergio) писал(а):... милый недо-тип bool

Прекрасный тип! Очень полезен, хотя и неидеален.

(sergio) писал(а):И знание С++ без понимания, как это все реализовать на Си, т.е. без понимания, как используемое вами реализуется в элементарном коде и управлении памятью - порождает самый махровый дилетантизм. Примеры кода, где люди на плюсах пишут прогу в 2К+ строк с использованием всего СТЛ, которая делает то же, что решение "упраждения" из К-н-Р сишным кодом в 100 строк - я на SF.net видел. Код, где из функций возвращаются vector<vector<string> > byvalue - я тоже видел.

Дилетантизм - характеристика изучающих, а не изучаемого. Деннис Ритчи, основоположник языка С, сказал примерно так: "Язык С можно сравнить со скальпелем. Умелое использование - спасенная жизнь, неумелое использование - кровавое месиво." Да, есть люди, использующие С++ так, что хочется плакать. Однако это касается и С, да и вообще любого реально используемого языка. Использование STL в языке С++ никогда не было самоцелью, просто шаблоны из стандартной библиотеки могут сильно упростить жизнь программисту, избавив оного заново изобретать велосипед. Конечно же, я согласен с вами в том, что дилетантское использование STL может дать ужасающий код. Впрочем, дилетантское использование стандартной библиотеки С может дать код, ничуть не менее ужасный.

(sergio) писал(а):Так что С++ конешно мультипарадигменный язык, но и утверждение, что он высоко уровня - тоже неверно.

Смотря что считать критериями высокого уровня. С++ универсален тем, что, с одной стороны, позволяет манипулировать битами, а, с другой стороны, позволяет вводить очень высокие уровни абстракции, так что о (действительно) низкоуровневых операциях можно забыть.

(sergio) писал(а):По сути, он как был макронадстройкой над си... - так ею и остался.

Ну, я уже писал выше, что это неверное утверждение. В корне неверное.

(sergio) писал(а):Хочешь работать - изволь знать, соображать и учитывать.

И это правильно! Так можно сказать о любом профессиональном инструменте! Вопрос состоит в том, хочет ли человек учиться...

(sergio) писал(а):Кто хочет "работать высокоуровнево и не задумываясь о деталях реализации" - тот пусть лучше в яву или пайтон лезет

Да, для некоторых сегментов разработки ПО так и нужно поступать.

(sergio) писал(а):- там меньше возможностей глупости наделать при "высокоуровневом" подходе.

Да ну? Тот факт, что, создав в Python переменную и инициализировав ее значением типа Х, я могу позднее этой же переменной присвоить значение типа Y (причем типы X и Y могут быть совершенно несовместимы) открывает (потенциально) громадную брешь для ошибок! В С++ такие ошибки сделать несоизмеримо сложнее, компилятор не допустит.
Спасибо сказали:

sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Наставте на верный путь

Сообщение sergio » 01.11.2007 16:19

deninok писал(а):
01.11.2007 14:40
Такая форма записи функции main() неправильна в С++, и никогда не была правильной. Так не нужно писать - и все.

Вы не хуже меня знаете, что стандарт кое-что из этого разрешает, GCC для плюсовых файлов это пропускает, и кода, и даже сугубо плюсового, где мэйн объявляется так - предостаточно. )) Что "так не нужно писать - и все" - никто не спорит, но компилятор пропускает, значит - он не вылавливает ваши ошибки? )))))

bool Прекрасный тип! Очень полезен, хотя и неидеален.

Ну то, что он полезен - это нам не новость. ) Ввели наконец - и слава богу. Сколько можно всех заставлять TRUE FALSE дефайнить? ))
Но не поворачиваем проблему раком. Суть была в том, что зачем было устрожать сишный контроль типов с enum-ами и многим другим, чтобы тут же вводить тип, который неявно приводится к интергральным в обе стороны??? )

Дилетантизм - характеристика изучающих, а не изучаемого.

Про них речь и шла. Хорошо, заменим на ламеризм, для ясности. )))
Деннис Ритчи, основоположник языка С, сказал примерно так: "Язык С можно сравнить со скальпелем. Умелое использование - спасенная жизнь, неумелое использование - кровавое месиво." Да, есть люди, использующие С++ так, что хочется плакать. Однако это касается и С, да и вообще любого реально используемого языка. Впрочем, дилетантское использование стандартной библиотеки С может дать код, ничуть не менее ужасный.

Запросто. Только говорил я о том, что под водой си++ те же сишные скальпели. В актуальных реализациях плюсы от них могут прикрыть, но до конца не спасут. И желательно понимать, что там происходит, а не пользоваться С++ как черным ящиком. Книги же, которые пропагандируют изучение си++ без си - грешат как правило именно этим. Страуструп - не исключение, там достаточно ключевых моментов, которые он просто игнорирует или совершенно по-лвмерски )) объясняет их "на пальцах в общих чертах ну вобщем вы поняли", не давая сути. Поэтому эти ваши слова
С другой стороны, для того, чтобы начать использовать на практике многие возможности С++ на том уровне, какой необходим большинству программистов, десять талмудов читать не надо.

вкупе с тем, что не надо учить си - могут создать весьма ложное впечатление. Могут и не создать. Только и всего.

Смотря что считать критериями высокого уровня. С++ универсален тем, что, с одной стороны, позволяет манипулировать битами, а, с другой стороны, позволяет вводить очень высокие уровни абстракции, так что о (действительно) низкоуровневых операциях можно забыть.

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

(sergio) писал(а):По сути, он как был макронадстройкой над си... - так ею и остался.

Ну, я уже писал выше, что это неверное утверждение. В корне неверное.

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


(sergio) писал(а):- там меньше возможностей глупости наделать при "высокоуровневом" подходе.

Да ну? Тот факт, что, создав в Python переменную и инициализировав ее значением типа Х, я могу позднее этой же переменной присвоить значение типа Y (причем типы X и Y могут быть совершенно несовместимы) открывает (потенциально) громадную брешь для ошибок! В С++ такие ошибки сделать несоизмеримо сложнее, компилятор не допустит.

Давайте без подмен, ага? Мухи отдельно, котлеты отдельно. Не путаем ошибки с глупостями. Если в безтиповом языке человек присваивает переменной один тип, а читать пытается совершенно другой - это не "брешь для ошибок" в языке и не глупость - это просто ошибка. Безтиповый (ну или без контроля типов) язык - он на то и безтиповый, что там за такими делами программист следит, тут все соответствует. А вот мнение, что в си++ можно "вызывая конструкторчики создавать такие объектики", сферические в вакууме, - это чревато глупостями и ламеризмом.

Помимо помянутых сишных архаизмов, много проблем создает сама связка си + си++, и в довесок в плюсах уже и своих проблем успели понаделать, без помощи "старых ошибок". )

Только бога ради - не надо меня убеждать, что си++ хороший язык. ) Я его выбрал из десятка опробованных. )) А языки все хорошие, кому какие. =) Некоторым вон ассемблер нравится, а некоторым бэйсик. )))
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:

Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение deninok » 01.11.2007 16:59

Страуструп - не исключение, там достаточно ключевых моментов, которые он просто игнорирует или совершенно по-лвмерски )) объясняет их "на пальцах в общих чертах ну вобщем вы поняли", не давая сути.

Создатель языка объясняет (некоторые) ключевые моменты этого языка по-ламерски??? Смелое утверждение. Я читал несколько прекрасных книг по С++, и могу сказать, что некоторые моменты (достаточно важные) я понял ТОЛЬКО из книги Стауструпа "Язык С++ Специальное издание".

Только бога ради - не надо меня убеждать, что си++ хороший язык

Не буду. Вы, я вижу, знаете об этом языке не меньше, чем я (может, даже больше).
Спасибо сказали:

sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Наставте на верный путь

Сообщение sergio » 01.11.2007 18:02

deninok писал(а):
01.11.2007 16:59
Страуструп - не исключение, там достаточно ключевых моментов, которые он просто игнорирует или совершенно по-лвмерски )) объясняет их "на пальцах в общих чертах ну вобщем вы поняли", не давая сути.

Создатель языка объясняет (некоторые) ключевые моменты этого языка по-ламерски??? Смелое утверждение. Я читал несколько прекрасных книг по С++, и могу сказать, что некоторые моменты (достаточно важные) я понял ТОЛЬКО из книги Стауструпа "Язык С++ Специальное издание".

"По-ламерски" - не в значении, что он порет чушь, а в том смысле, что упрощает и обходит "низкоуровневые детали" и не дает того уровня понимания, который требуется. Поэтому по целому ряду базовых вопросов после Страуструпа надо смотреть скажем Мейерса (ну если их где-то еще не прочитали лучше изложенные), по каким-то - Саттера. Иначе потом у нввичков стабильное непонимание что делает конструктор, что делает оператор нью / нью-операция, чем неполноценны сишные массивы в ООП, и многое-многое другое... Именно потому, что дается "высокоуровневая ООП модель", несколько (умышленно, да) абстрагированная от реализаций, но эта абстрагированность в ряде случаев мнимая, ее нету, есть вполне конкретная зависимость от низкоуровневых деталей и подходов этой самой реализации.

Вот еще пример "неучтенного" или неоговоренного в третьем (98-го по крайней мере года, еще не "специальном") издании Бьярна:

Код: Выделить всё

#include <iostream>
#include <locale>

int main()  {
  std::wcout.imbue(std::locale(""));
  std::wcout << L"Всем привет!" << std::endl;
  return  0;
}


по нему вроде как выходит, что должно работать. В действительности - индейская национальная изба. Если кто знает реализацию библиотеки, где этот код будет работать - скажите мне, я на досуге погляжу, как они там извратились, чтобы этого достичь. :happy:

Дело не в том, что у Бьярна что-то неправильно, а в том, что очень много не разобрано (или даже не упомянуто) того, что должно быть обязательно, и множество узких мест в языке, на которых надо заострять внимание специально - для получения того самого понимания. А у него кучу места занимают разговоры не о том и не самые подходящие примеры.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:

Аватара пользователя
Liksys
Сообщения: 2910

Re: Наставте на верный путь

Сообщение Liksys » 01.11.2007 18:16

deninok, успокойся, C++ - это страх божий, я понимаю, что ты попросту закрываешь глаза на его недостатки. Ничего, со временем пройдет :)
На счет мультипарадигменности - да. Но я привел самое распространенно-приводимое отличие ;)
Ну, разумеется, в силу того, что Python - язык интерпретируемый, он значительно медленнее, чем С и С++. Поэтому его применение не столь универсально. Для приложений, критичных к скорости выполнения, он совершенно не подходит.
Улыбнуло. Самое распространенное заблуждение - Python никаким боком не интерпретируемый. Просто его реализация заставляет так думать. Он компилируется в байт-код и исполняется на виртуальной машине. Это раз. Компиляция осуществляется на лету, если нет pyc-файлов - скомпилированных модулей. Никогда не замечали, что они появляются после исполнения программы в первый раз, а потом производительность резко подскакивает? Это потому, что вместо файлов исходных текстов используются откомпилированные pyc`и. Это два. Производительность. Интересное заявления, Позвольте развенчать миф о тормознутости Python. Это частично делает его байт-кодовый характер. Последний аргумент, которым я обычно добиваю оппонента, убежденного в превосходстве C++ по производительности - это модуль Psyco, который выполняет JIT-компиляцию на лету. Можно провести ряд сравнительных тестов и убедиться, что скорость работы Python с включенным Psyco такая же (а иногда и превосходит) скорость C++ - программ.
Я уже не говорю про скорость компиляции Python - C++ курит в сторонке. Яркий пример - мой словарь. Я выбрал Python в качестве языка для написания гуя. Гуй - огромный и сложный комплекс, в котором много нетривиальных вещей и хитрых изворотов, которые на C++ заняли бы сотни строк против пары строк Python. Весь комплекс LightLang устанавливается за 10-15 секунд, при этом проходят все стадии - configure/make/make_install, причем make - самая короткая процедура, это при том, что в ней производится компиляция Python-модулей. Это что касается приемущества для программиста. Не говоря уже о типах данных высокого уровня - списки, словари, кортежи, строки. Одня операция среза чего стоит.
C++ во многом страшный язык, этому он обязан обратной совместимости с C++. Использование препроцессорного #include - крайне неэффективный метод, против например питоновского import или сишарповского using (хоть это далеко не одно и то же, но создает такое ощущение). C# - более близкий к идеалу вариант - если бы не был реализован через зад и имел многие фишки современных языков - множественные возвращаемые значения например. Но C# я ненавижу именно за эту его кривизну.

Кто-то еще что-то хочет сказать о Python? :cool:
Спасибо сказали:

sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Наставте на верный путь

Сообщение sergio » 01.11.2007 18:57

Ну фсё, фстретились коса и камень, щас тут бойня за Гроб Кобола начнется. :crazy: :crazy:
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 7894
Статус: Маньяк
ОС: Android, GNU/Linux, Windows

Re: Наставте на верный путь

Сообщение serzh-z » 01.11.2007 19:18

Liksys писал(а):
01.11.2007 18:16
Кто-то еще что-то хочет сказать о Python? :cool:
/me припух, закрыл открытый рот и снова упал в кресло...
Scio me nihil scire.
Спасибо сказали:

Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение deninok » 01.11.2007 20:14

(Liksys) писал(а):Python никаким боком не интерпретируемый. Просто его реализация заставляет так думать. Он компилируется в байт-код и исполняется на виртуальной машине.

Прошу прощения, я не знал. Был уверен, что он интерпретируемый.

(Liksys) писал(а):C++ во многом страшный язык, этому он обязан обратной совместимости с C...

Ну, понятие "страшный" в высшей мере субъективное. Мне, например, очень нравится.

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

promov
Сообщения: 384
Статус: Участник
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение promov » 01.11.2007 23:16

Можно я скажу? У меня впереди корячится шахматная программа- тренажёр для обучения игры в шахматы. Это первое, что мне хотелось бы сделать (Идея программы, я думаю, не важна, скажу лишь, что я о подобном слыхом не слыхивал. А впрочем, я могу и ошибаться). Cейчас корплю над С. Cкажу честно, мнение ваше меня с выбранного пути вряд ли свернёт- да потому хотя бы, что слишком много сил потрачено. И всё же: как по вашему, подобные вещи на каком языке лучше писать?
Зачем хорёк пошел в ларёк, зачем барсук полез на сук...
Мораль легко уразуметь: зачем на бал пришёл медведь?
Спасибо сказали:

Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: Наставте на верный путь

Сообщение BlackStar » 01.11.2007 23:28

Смотри что представляет собой этот тренажер, если ГУЙ, то как уже говорили python в связке с QT/GTK или java (Swing).
LightLang Team
Спасибо сказали:

promov
Сообщения: 384
Статус: Участник
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение promov » 01.11.2007 23:36

Cтоп- стоп. Говорим мне, значит пытаемся быть мне понятными. Что за Гуй? Знать не знаю никаких Гуев... Впрочем, здесь не ликбез, объяснять необязательно, просто скажите: такой язык- в нём графика лучше. Или: многие шахматные программы написаны на языке X, поэтому выбирай его.
Желательно так.
...Там именно тренажёр- будет формировать задания: сперва попроще, потом всё сложнее и сложнее.
Зачем хорёк пошел в ларёк, зачем барсук полез на сук...
Мораль легко уразуметь: зачем на бал пришёл медведь?
Спасибо сказали:

promov
Сообщения: 384
Статус: Участник
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение promov » 01.11.2007 23:54

Ладно, отвечать так отвечать. Я ещё хочу сделать компьютер машиной для зарабатывания денег. А что? Путь сам на Forexe играет... Забить туда данные и пусть покупает-продаёт валюту, когда надо. Ну тут он пока человека не заменит, но некоторые слишком явные ситуации он может обыграть, верно? Если явно падает курс чего-то там, значит, это что-то надо поскорей продать. Это возможно реализовать? Думаю, да.
Зачем хорёк пошел в ларёк, зачем барсук полез на сук...
Мораль легко уразуметь: зачем на бал пришёл медведь?
Спасибо сказали:

Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Наставте на верный путь

Сообщение Uncle_Theodore » 01.11.2007 23:57

promov писал(а):
01.11.2007 23:36
Cтоп- стоп. Говорим мне, значит пытаемся быть мне понятными. Что за Гуй? Знать не знаю никаких Гуев... Впрочем, здесь не ликбез, объяснять необязательно, просто скажите: такой язык- в нём графика лучше. Или: многие шахматные программы написаны на языке X, поэтому выбирай его.
Желательно так.
...Там именно тренажёр- будет формировать задания: сперва попроще, потом всё сложнее и сложнее.

В языках как таковых графики никакой нет. :)
А движок я бы писал на Сях.
GUI -- Графический Пользовательский Интерфейс. Окошки всякие, кнопочки, катринки...
Спасибо сказали:

Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: Наставте на верный путь

Сообщение BlackStar » 02.11.2007 00:00

ГУЙ это GUI - графический интерфейс пользователя. Преимущество python и java в их кроссплатформенности и в быстрой разработке программ. При этом для каждого имеются инструменты построения графического интерфейса, проще говоря кнопкокидательство.
LightLang Team
Спасибо сказали:

promov
Сообщения: 384
Статус: Участник
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение promov » 02.11.2007 00:28

Такого рода задача достойна уважеия...
Меня бесит положение в фигурном катании. Там две оценки даются- одна за артистизм, другая за технику. Ну ладно, артистизм, туда-сюда, во внимание не берём. Но! Техника! Короче, создаём с помощью специалистов видеозапись идеального исполнения элементов. Затем убираем из этой видеозавписи цвета, оставляем движущийся чёрный контур фигуристки на белом фоне. А после программа должна будет срввнить эту видеозапись (напомню, идеального исполнения элементов, возможно, c помощью компьютера же сделанную) с видеозаписью реального исполнения. Чем больше совпадает (не "совпадений", а именно "совпадает"), тем выше оценка.
Критерии сравнивания могут быть такие: размеренность исполнения- должна приближаться к компьютерному варианту. Амплитуда движений. Их плавность. Короче, чем больше видеозапись реального спортсмена напоминает компьютерную, тем выше оценка.
...Товарищи программисты! Речь даже не про меня- на чём вообще подобное пишется? Или под такие программы специально языки создаются?

Uncle_Theodore писал(а):
01.11.2007 23:57
В языках как таковых графики никакой нет. :)

А наличие графического режима в языке Pascal при наличии (забыл, как называется- модуля, что ли) GRAPH- это как?
Зачем хорёк пошел в ларёк, зачем барсук полез на сук...
Мораль легко уразуметь: зачем на бал пришёл медведь?
Спасибо сказали:

sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Наставте на верный путь

Сообщение sergio » 02.11.2007 00:38

promov писал(а):
02.11.2007 00:28
...Товарищи программисты! Речь даже не про меня- на чём вообще подобное пишется? Или под такие программы специально языки создаются?

Гыгыгы! "Такие" - это какие? которые сами за тебя деньги зарабатывают? на мечтательском, наверное. =) Еще на языке манипулирования массами - лохотроннер язык называется. Ну, МММ, ваучер, хопер-упер, догоним-и-перегоним-чубайса, слышали? Вот, оно самое. =))
Шахматный думатель может писаться на любом развитом языке.
Рынки форекс и т.п. используют системы бизнес-логики (разрабатывавшиеся сотнями специалистов не один месяц), но тем не менее правят балом там человеки. =)
А наличие графического режима в языке Pascal при наличии (забыл, как называется- модуля, что ли) GRAPH- это как?

Это каменный век.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:

promov
Сообщения: 384
Статус: Участник
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение promov » 02.11.2007 00:47

sergio писал(а):
02.11.2007 00:38
Гыгыгы! "Такие" - это какие? которые сами за тебя деньги зарабатывают?

:человечек, пожимающий плечами: Я иллюзий по поводу Forex не строю. Не получится- не оплучится. А критиковать следовало бы не идею "как зарабатотать деньги", а идею "как написать программу", Всё ближе к теме, согласитесь.

Гоаоря "такие", я имел ввиду фигурное катание.
Зачем хорёк пошел в ларёк, зачем барсук полез на сук...
Мораль легко уразуметь: зачем на бал пришёл медведь?
Спасибо сказали:

promov
Сообщения: 384
Статус: Участник
ОС: Debian GNU/Linux

Re: Наставте на верный путь

Сообщение promov » 02.11.2007 00:55

Нет, ну а всё-таки? Мы же не обсуждаем здесь вопрос "как заработать деньги?" Давайте предположим, что Forex- не лохотрон. Какой язык, по-вашему, подошёл бы к написанию подобной программы?
Зачем хорёк пошел в ларёк, зачем барсук полез на сук...
Мораль легко уразуметь: зачем на бал пришёл медведь?
Спасибо сказали:

sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Наставте на верный путь

Сообщение sergio » 02.11.2007 01:22

promov писал(а):
02.11.2007 00:55
Нет, ну а всё-таки? Мы же не обсуждаем здесь вопрос "как заработать деньги?" Давайте предположим, что Forex- не лохотрон. Какой язык, по-вашему, подошёл бы к написанию подобной программы?

Любой развитой язык, или связка языков, для которого/ых
а) существует необходимая для решения задачи инфраструктура (гуи, дб, библиотеки математики, аи, бизнес модели, нейронные сети и проч.) :happy:
б) которые позволяют подключиться к инфраструктуре, с которой вы собираетесь работать; программная система ваша не с вакуума же станет брать данные для своих "расчетов"? она их должна откуда-то получать. Вот, ваша первая задача - стать специалистом по форекс-биржам, получить общие сведения о применяемых там программных системах, и том, какие интерфейсы для получения информации к этим системам доступны, кому и где они доступны, на каких условиях, какие из них лучше... и т.д.
Когда вы по двум этим пунктам предоставите внятные ответы - можно будет подбирать ответы или формулировать ваш вопрос дальше.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:

Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Наставте на верный путь

Сообщение Uncle_Theodore » 02.11.2007 01:46

promov писал(а):
02.11.2007 00:28
Uncle_Theodore писал(а):
01.11.2007 23:57
В языках как таковых графики никакой нет. :)

А наличие графического режима в языке Pascal при наличии (забыл, как называется- модуля, что ли) GRAPH- это как?

Нет, в языке Паскаль нет никакого графического режима. Это очень распространенная ошибка всех прошедших через Борланда. В Борландовской рабочей среде для посторения программ на Паскале была специальная библиотека, которая содержала графические функции и позволяла рисовать картинки на экране.
Для других языков тоже существуют различные привязки к графическим библиотекам, например, есть привязка xlib к Сям, есть привязка Qtк Питону и специальный класс Swing в Джаве. За исключением Джавы, эти привязки не являются частью языка, не поставляются вместе с компилятором, а являются совершенно самостоятельными проектами.
Спасибо сказали: