Товарищи!!пишите пожалуйста сюда
те языки коорые вы учили в самом начале..
Лично я начал с VB 6.0.. Потом (в школе) Pascal,,
а затем HTML.. Сейчас учуC++.. А вы??
Товарищи!!пишите пожалуйста сюда
те языки коорые вы учили в самом начале..
Лично я начал с VB 6.0.. Потом (в школе) Pascal,,
а затем HTML.. Сейчас учуC++.. А вы??
Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.
22 октября 2009 в 0:01
pascal
18 октября 2009 в 1:02
Дмитрий Nullity Фомичёв, прикольно. Никогда раньше не слышал про него. =)
17 октября 2009 в 16:00
Я начинал с асемблера, а потом перерешел на бейсик, заним были Foxpro и Clipper, сейчас Аляска XBase++, Delphi,C++,php,совсем чуть чуть java просто внем нет необходимости, а в целом все я зыки одинаковы если понять саму суть пирограмирования.
16 октября 2009 в 11:04
#256
обана. и что, эта шняга до сих пор используется в windows?
16 октября 2009 в 7:04
//ru.wikipedia.org/wiki/HTML_Application
//www.script-coding.info/HTA.html
15 октября 2009 в 23:01
ога…буду рад по ним пройти!!!=)
15 октября 2009 в 21:00
hta – приложения под windows,
написаные на этом самом html'е. они не компилируются. используют их чаще всего на разных cd/dvd с софтом. с удовольствием подкреплю ссылочками как только буду с компа.
15 октября 2009 в 18:04
что за hta?! O_o
15 октября 2009 в 18:02
Виталий Mone Борисок, а как же приложения *.hta?
15 октября 2009 в 16:03
Дмитрий Nullity Фомичёв, HTML – это язык разметки, а не язык программирования. Какую программу можно на ХТМЛе написать?
Хакер Stirlic Онлайн, а дальше уже лучше. Но лучше начать с PHP и java, а HTML уже взять как параллельное изучение.
14 октября 2009 в 17:02
Хакер Stirlic Онлайн, всё бы хорошо, но с таким набором дальше разработки сайтов сложно пойти. я думаю, не каждому дано осваивать на профессиональном уровне десятки ЯП, да и мотивация должна быть. а чем не стимул – хорошо написанная рабочая программа?
14 октября 2009 в 17:01
)))))))))))
HTML – не язык программирования. Да и чему там учиться?
14 октября 2009 в 17:01
затем java и php
14 октября 2009 в 17:01
Виталий Mone Борисок, отчего же? язык программирования, только специализированный на выполнение движком браузера. но я бы не стал его рекомендовать для изучения первым. из-за узкой направленности и практической невозможности перехода на другие популярные языки.
14 октября 2009 в 15:02
HTML
28 апреля 2009 в 17:05
Ну, я начала с Pascal'я. Не жалуюсь, но, пожалуй, лушче бы было сразу на С-подобном.. Чтобы к синтаксису привыкать..
27 апреля 2009 в 13:04
pascal C++, и хватит с мне программирования
27 апреля 2009 в 3:01
Хз… С,С++ имхо лучшее.. А к паскалю и бейсику у меня личная "неприязнь"
30 апреля 2008 в 14:04
Комментарии – обычно все-таки читаешь код со включенной подсветкой синтаксиса, и комментарии сразу видно.
Если код плохо оформлен, то ничего непонятно и в других языках. И мне кажется, на паскале как раз куда труднее плохо оформить код, нежели на C – сплошной мешанины из ASCII-символов все равно не получится.
А если код оформлен хотя бы как-то более или менее культурно, то паскаль по-моему вполне понятен.
Считаешь ли ты, что нормально оформленный код на паскале – труднее понять, нежели нормально оформленный код на си, при условии что я не знаю синтаксиса ни того, ни другого?
30 апреля 2008 в 14:03
Жека jkff Кирпичев, я ток что нарыл то что я бы точно не сразу понял, это комменты в фигурных скобках. если бы я знал что они тут есть, или явно было видно что это коммментарий, то да, можно это понять. но если комментарии редкие и неочень понятно что это комменты…
вообще можно сделать читаемым и паскаль, если писать всё "красиво", и знать кое-что из языка, но когда видишь его в первый раз, особенно если код плохо оформлен, фиг чё поймёшь, кроме того где начинается if и какому условию он следует.
30 апреля 2008 в 14:03
если выучить его синтаксис то он понятен.
речь о том что если незнать этого синтаксиса, понять его очень сложно.
30 апреля 2008 в 14:02
так же там нету print, вместо него WriteLn, зато есть begin и end
30 апреля 2008 в 14:02
А я не по делу и не баню; пока что этой чести удостаивались только спамеры с увеличением пениса и легкодоступным заработком в инете. Но "убивать надо за такие слова" – это неадекват.
Ты утверждаешь, что паскаль невозможно понять без учебника.
Ты действительно не смог бы понять без учебника этот код?
if apples >= 5 then
begin
writeln("There are at least 5 apples");
else
writeln("There are less than 5 apples");
end;
Ок, что еще тебе не нравится в синтаксисе паскаля?
30 апреля 2008 в 14:02
print и writeln – какая разница? А в С++ – cout. Разве cout понятнее чем writeln?
Begin и end – многословны, но ни в коем случае не непонятны.
30 апреля 2008 в 14:01
Жека jkff Кирпичев, во-первых, будь адекватнее и бань только по делу
во-вторых, if then else ещё дохрена чего-то, это идиотизм. нет чтобы нормально скобками оградить, как в PHP, C++ и других.
30 апреля 2008 в 13:05
Во-первых, будь адекватнее – ты приближаешься к бану.
Во-вторых, аргументируй. Какие особенности синтаксиса паскаля делают его невозможным для понимания?
30 апреля 2008 в 13:03
Дмитрий Кожин, убивать надо за такие слова, будто бы синтаксис паскаля "простой и удобный", когда он тупой и косой! зная любой другой язык, сложнее всего понять прогу на паскале(нереально без учебника по этому недоязыку).
30 апреля 2008 в 8:01
Леонид, логика хромает. То, что любой язык транслируется в ассемблер, никоим образом не означает, что любой язык можно понять, поняв ассемблер. Возможно, это было бы верным, если добавить "и поняв правила трансляции с этого языка на ассемблер" – но боюсь что понять правила трансляции с J, Haskell или тем паче Epigram на ассемблер практически нереально – или, во всяком случае, это неизмеримо сложнее, чем выучить эти языки с нуля.
Кстати, J в ассемблер не транслируется – он интерпретируемый.
30 апреля 2008 в 7:02
Жека jkff Кирпичев: Хорош язык, правда весьма странный (особенно _5 и обилие операций), но понимаемый.
Андрей Куликов: Что не так в этом высказывании? Компилятор с ЛЮБОГО языка программирования переводит программу в код, понятный процессору. Машинный код однозначно соответствует ассемблерному коду, построенному на основе компилированного.
Всё-таки есть соотвествие между
int main (int argc, char** argv) {return argc;} и
pushq %rbp
movq %rsp, %rbp
xorq %rax, %rax
movl %edi, %eax ; EDI is argc
leaveq
retq
По аналогии с более сложными программами и даже с MSIL и Java кодом.
Интерпретаторы (бэйсик и SH) в расчёт не беру, у них своя специфика.
29 апреля 2008 в 21:01
Хехе. Леонид, я думаю, тебе не составит труда понять язык J ( //en.wikipedia.org/wiki/J_programming_language ), не так ли?
В любом случае, тебе будет интересно на него посмотреть и расширить свой кругозор.
29 апреля 2008 в 20:05
>> Assembler для нужной платформы. Все остальные языки – производные от него: понял Assembler – поймёшь и остальные.
Сдается мне вы мало знакомы с программировнием. )
29 апреля 2008 в 12:05
Assembler для нужной платформы. Все остальные языки – производные от него: понял Assembler – поймёшь и остальные.
29 апреля 2008 в 12:05
Главное: писать комментарии в коде – чем больше, тем лучше, тогда никто нигде не запутается, и самому жизнь облегчится, а также можно будет куски комментариев вставлять в руководство пользователя на прогу
22 апреля 2008 в 21:04
Турбо Паскаль создавался как компилятор и IDE.
22 апреля 2008 в 21:02
Люди о чем речь. Turbo Pascal ведь он и создавался как учебный язык.
Для начало самое оно. Синтаксис простой и удобный, для постижения азов программирования и алгоритмизации подходит идеально.
22 апреля 2008 в 21:02
Люди о чем речь. Turbo Pascal ведь он и создавался как учебный язык.
Для начало самое оно. Синтаксис простой и удобный, для постижения азов программирования и алгоритмизации подходит идеально.
31 марта 2008 в 17:01
//www.kx.com
31 марта 2008 в 16:02
чё это за язык,я такого даже не знаю.?
31 марта 2008 в 11:02
Самый быстрый интерпретируемый язык программирования – это K.
29 марта 2008 в 19:02
про питон будто бы забыли.
самый лучший интерпретируемый язык программирования.
с него и начинать. ОЧЕНЬ простой в освоении
а из компилируемых – хз… си или с++ наверное, больше ничего стоящего имхо нету… а, ну ещё есть ява… только она не простая…
короче, интерпретация рулит, питон как самый быстрый и простой интерпретируемый язык программирования тоже
29 марта 2008 в 18:05
Тимур, хорошо, постараюсь больше не "умничать". А то, что люди пишут – дочитываю. И всю глубину Вашей фразы про "отвязанность С++ от конкретной парадигмы" оценил по достоинству. Чего и Вам желаю.
29 марта 2008 в 15:00
Дмитрий Гайдамович.
Я гляжу, Вы тут из себя умного строите. Спасибо за Вашу фразу, тока дочитывайте, пожалуйста, что люди пишут.
29 марта 2008 в 15:00
Дмитрий Гайдамович.
Я гляжу, Вы тут из себя умного строите. Спасибо за Вашу фразу, тока дочитывайте, пожалуйста, что люди пишут.
29 марта 2008 в 12:04
Лаконично? Особенно begin, end?
Удобно? Объявления переменных перед телом процедуры?
Строго? Поясни.
Дисциплинирует? Каким образом? Обязательной индентации нет; вот разве что хорошо, что есть какая-никакая типизация.. Но она и в си есть.
29 марта 2008 в 12:00
216:полностью поддерживаю!
29 марта 2008 в 1:03
Pascal однозначно, все очень строго, лаконично и удобно!!! Прекрасный язык который дисциплинирует программиста!
29 марта 2008 в 1:02
#207:
>> класс это сложный тип данных, а не простой.
– я рад, что убедил вас, что это все-таки тип данных
пойдём дальше, чем же "простой тип" отличается от "сложного типа"? что означают эти загадочные определения, и откуда вы их почерпнули?
>> По поводу переносимости, рекомендую Ruby (это интерпретируемый язык)
– переносимость никак не связана со способом построения компилятора, главное чтоб этот компилятор вообще был;
– в плане переносимости Руби ничем не лучше С, Java, да того же Pascal, так что не надо мне его рекомендовать в этой связи, если хотите сойти за знатока;
– теперь по поводу интерпретируемости Руби. Коллега, различаете ли Вы два понятия: сам язык и способ организации транслятора? Или для вас "интерпретируемость" или "компилируемость" – это свойства самого языка? Слышали ли вы что-нибудь о компиляторах Руби? Видимо, нет, а зря.
#213 >> Ну то что С++ – это объектно-ориентированный язык – неправда.
– неправда, это правда. С++ хорошо поддерживает ООП, а следовательно, он объектно-ориентированный. Он поддерживает ещё обычный процедурный подход и метапрограммирование в виде template-ов, но от этого он не перестаёт быть ООП-языком.
29 марта 2008 в 0:00
Дурацкий вопрос:
Для того чтобы программа работала надо её исходный текст скомпилировать в машинный код. А тогда как называется то, что на Паскале можно нажать СTRL-F9 и протестировать прогу? Разве нажав эти клавиши мы её уже не скомпилировали?
28 марта 2008 в 22:05
Ну то что С++ – это объектно-ориентированный язык – неправда. Что выделяет С++, то что он ни к какой парадигме не привязан.
28 марта 2008 в 22:02
Я советую не тратить время на паскаль!
28 марта 2008 в 18:03
Ну тогда извиняйте:)
28 марта 2008 в 18:02
Любое изучение дает какой-то навык. И кстати не такие уж они и разные. В паскале то же есть обьекты. И ты сравниваешь неправильно.
Надо либо Pascal и C, либоDelphi и C++. (иначе ты сравниваешь Dos и Windows).
Вопрос который к теме не относится,
Какой у тебя текст программы? (лучше кинь в личку)
28 марта 2008 в 18:00
У меня тут вопросик один:
Принципы программирования на Паскале и Си++ разные? Ну в смысле, что на
Паскале вроде структурное, а на Си++ объектно-ориентированное. И значит как программирование на Паскале, поможет перейти на Си++?
Я просто думаю, зря ли тратиться время на изучение Паскаля или это даёт какой-то навык?
И ещё один вопрос, который к теме не относится, но просьба ответить:
что значит в Паскале ошибка " Ошибка 105 по адресу 0001:0063"? Она выскакивает, когда я нажимаю CTRL-F9.
28 марта 2008 в 12:01
#198:класс это сложный тип данных, а не простой.
По поводу переносимости, рекомендую Ruby (это интерпретируемый язык)
#199:Сори, до этого смотрел в каком-то источнике там про это нечего небыло сказано. Тока щас в википедии посмотрел.
#206:Это смотря кому
28 марта 2008 в 11:01
А что сложного в начинании учить Си?
28 марта 2008 в 11:01
По моему нормальный старт!
28 марта 2008 в 10:00
2Егор. Изучив делфи, программист любитель не будет нуждаться в изучении си. Для начинающего, любителя, даже для профи возможностей будет более чем достаточно.
28 марта 2008 в 10:00
2Егор. Изучив делфи, программист любитель не будет нуждаться в изучении си. Для начинающего, любителя, даже для профи возможностей будет более чем достаточно.
28 марта 2008 в 9:05
Все таки тема была не какой язык лучше, а с какого лучше начинать. А начинать надо с простых и известных, по которымдостаточно литературы. Покажите человеку, изучившему бейсик, те же два плюс два на си и на делфи, очевидно, где он может чегото понять.
28 марта 2008 в 9:04
Да, на счет 2+2. Вы же не собираетесь учить язык для написания программ такого рода?!)))
28 марта 2008 в 9:04
Я настоятельно рекомендую С! Потом проще будет!
Язная С нетрудно выучить Java и C#. А зная паскаль это уже затруднительное действо!
28 марта 2008 в 1:03
>> Да еще Паскаль был написан не как язык для обучения, т.к. в то время обучали на бейсике. Это в наши дни стали обучать на нем…
– интересная история, жаль что господин Вирт об этом ничего не слышал. Он-то, дурак, считал, что создал язык для обучения. Бедняга, не учёл, что обучают-то на бейсике, и зря он из кожи вон лез. Натурально, лоханулся простодушный Николаус.
28 марта 2008 в 1:02
>>Я скажу вы не правы, по поводу паскаля…
– я не говорил, что на Паскале нельзя чего-то сделать, я говорил об удобстве
– насчёт ассемблера и "всего, что захочешь": вот, к примеру, я бы захотел написать переносимую программу, и чем мне тут поможет ассемблер?
>>недавно нашел как реализовать XMS-память на паскале
– искренне поздравляю
>> В Паскале если переменные одного типа, то их можно и приравнивать друг к другу.
– это действительно мощная возможность паскаля, конечно же её нет в Си, и не ищите:)
>> Мы нашли как можно вывести звук на колонки
– блин, ребята, да вы круты! где можно посетить ваш мастер-класс?
>>в паскале есть возможность обращаться к выделенной памяти через абсолютные коды
– чОрт, зря я забросил паскаль….
>>И примое обращение к портам через массив port
– примое?!! вот это тема!
>>Так что не надо говорить, что все что угодно можно написать только на Си, когда это не правда.
– может это всё-таки не по мою душу? я вроде такого и не говорил…
>>Вот еще одно приемущество паскали:
>>Можно напрямую вставлять код на машинном языке,
>>в любом месте программы.
– на машинном??? Ни хрена себе! Всё, учу Паскаль, деваться некуда. Раз там такие приемущества. Правда, я его и так знаю, вот неувязочка-то…
>>Немного покопавшись в паскале можно найти еще много интересного.
– в детстве у меня был программируемый калькулятор, вы не представляете, сколько там было всякого интересного!
>>Да забыл упомянуть о множествах встроенных в паскаль практически с самого начала его существования.
– да, вот это больная тема, программисты на Си без множеств натурально загибаются
>> Да строка в паскале то же отдельный тип данных, а не обьект, как в Си
– STL-вский string-то? Коллега, а что по-вашему есть класс, как не тип данных? Ладно, шучу, шучу.
28 марта 2008 в 1:01
Да еще Паскаль был написан не как язык для обучения, т.к. в то время обучали на бейсике. Это в наши дни стали обучать на нем, т.к . Он проще остальных языков (Бейсик то же еще преподают, но это гораздо реже встречается).
28 марта 2008 в 1:00
К стати небольшой пример про 2+2, к тому что уже было написано, конечно чтобы было проще сравнить впишу их сюда:
===========Pascal:===========
begin
writeln('2+2=',2+2);
end.
{кстати вместо \n из Си в паскале можно просто прибавить к write приставить ln (writeln)}
===========C:===========
#include<stdio.h>
main(){
printf("2+2=%d\n", 2+2);/*в том описании забыли вписать это "2+2="*/
}
===========Basic:===========
print "2+2=" 2+2
===========Ruby:===========
p "2+2=#{2+2}"
#конечно это всего один из вариантов
===========J:===========
"2+2=" 2+2
===========Fortran:===========
print *,'2+2=',2+2
end
!Ну чето в этом роде
===========================
Я бы написал как вывести на ассемблере, да вот не помню простой способ.
А другой просто будет не в пример.
28 марта 2008 в 0:02
Да забыл упомянуть о множествах встроенных в паскаль практически с самого начала его существования. А вот в Си он появился значительно пой же, и то как обьект, а не отдельный тип данных. Да строка в паскале то же отдельный тип данных, а не обьект, как в Си (Я имею ввиду не массив символов, а строку).
28 марта 2008 в 0:00
Я скажу вы не правы, по поводу паскаля. Да и вообще нет такого языка, где встроен ассемблер, на котором нельзя сделать все что захочешь.
С памятью паскаль тоже может работать, к примеру недавно нашел как реализовать XMS-память на паскале.
Работа с данными на паскале (как и на делфи так как это один и тот же язык, с небольшими доработками) гараздо проще, как в скомпилированной программе так и в описании (чего не скажешь о Си, хотя это не всегда и заметно). В паскале если переменные одного типа, то их можно и приравнивать друг к другу. В Си такого не замечал (кроме обьектов и классов)
Мой друг щас пишет 3D-движок на паскале, кое-что уже готово может пока еще не совсем быстро (немного лягает), но уже есть возможность включать хоть 2048х1024 пикселей экрана и 32 бита цветов. По мимо того мы нашли как можно вывести звук на колонки, а это уже достаточно много. К томуже в паскале есть возможность обращаться к выделенной памяти через абсолютные коды, можно еще и с помощью массива mem встроенного в него. И примое обращение к портам через массив port.
Так что не надо говорить, что все что угодно можно написать только на Си, когда это не правда.
Вот еще одно приемущество паскали:
Можно напрямую вставлять код на машинном языке, в любом месте программы.
Немного покопавшись в паскале можно найти еще много интересного.
27 марта 2008 в 21:04
Ну уж на Си не только системные вещи… Есть и область связанная с hpc (high perfomance computing)
А чтобы что-то подобное на Паскале да и на Делфи было, я не знаю
27 марта 2008 в 21:03
Значит паскаль для создания алгоритмов к задачкам, уравнениям и всяким простеньким программам? А что ещё можно создать с помощью паскаля?
Кроме "2+2"? Вопрос чисто так, для интереса.
27 марта 2008 в 21:03
В области основных системных функций делфи с си одинаковы. SetWindowsHookEx, GetMem, FindWindow, SendMessage – и там и там это правильно.
27 марта 2008 в 19:02
Полностью поддерживаю. Для того, чтобы складывать числа, Паскаль больше подходит. Для системных вещей больше подходит Си – для них он и делался. Попробуйте реализовать какой-нибудь алгоритм управления памятью на Паскале и на Си, и почувствуйте разницу. Я, например, ничего не слышал про то, чтобы ядра СУБД делались на Паскале. На Си – сколько угодно. Так что, чем сложнее и "системнее" программа, тем выгоднее использовать Си, так что Ваше заключение "по индукции", боюсь, здесь неприменимо. А для 2+2 – вопросов нет, только Паскаль! Если же мы углубляемся не в сторону системных вещей, а, например, в сторону искусственного интеллекта – тогда диалекты Лиспа, Пролог и т. п. Перечень таких областей применения можно продолжать. Паскаль, насколько я знаю, разрабатывался для обучения программированию. В этом качестве он достаточно хорош, хотя SICP в качестве учебника не может не привлекать.
27 марта 2008 в 16:03
Дело даже не в писанине а в её читабельности и структуре.
27 марта 2008 в 13:04
Паскаль:
begin
wiriteln('2+2=',2+2);
end.
Си
#include<stdio.h>
main(){
printf("%d\n", 2+2);
}
27 марта 2008 в 13:04
а теперь посчитаем a+b
паскаль
var: a, b:integer;
begin
readln(a, b);
writeln(a, "+", b, "=", a+b);
end.
си:
#include<stdio.h>
main(){
int a, b;
scanf("%d %d", &a, &b);
printf("%d+%d=%d", a, b, a+b);
}
27 марта 2008 в 13:04
а если программа еще больше усложняеться то результат очевиден где писанины больше)))
27 марта 2008 в 11:00
Красота, выразительность, удобство и мощь языка программирования не имеют НИЧЕГО общего с тем, насколько он похож на естесственный (например, английский) язык. Это может играть роль только для читаемости простейших программ, либо при самом начальном обучении, и то роль скорее обманчивую и вредную.
27 марта 2008 в 0:05
насчет красоты – все наоборот.СИ уродлив, коверкает английский как хочет, если в Пасе сразу пропишешь нормальным языком, то тут уродливое инклюд, кучи модулей для простейших вещей, глючные записи совершенно
хочешь в бэйсике сосчитать 2+2? пишешь : print 2+2
В Паскале – придется уже больше написать
А в СИ – еще больше, и программа выглядит уродливо. Это- на любителя
27 марта 2008 в 0:03
3 вечных вопроса:
- Кто виноват?
- Что делать?
- Какой язык лучше? ))))
Паскаль может и логичнее, но в Си больше возможностей да и к тому же большинство языков похожи на Си. Да и покрасивше Си будет: #include вместо юзеса, \n вместо бреда всякого, {} вместо begin..end. Я сам с Паскаля под DOS начинал и долго не хотел мириться с тем, что Си объективно лучше.
26 марта 2008 в 23:01
Это больная тема была и будет всегда.
26 марта 2008 в 22:03
По-моему это вечный вопрос: одни советуют Питона, другие Паскаля, третьи предлагают начать сразу с С++…Сколько форумов облазил, нигде не приходят к единому мнению.
26 марта 2008 в 21:00
А каковы могут быть причины перехода на си?
26 марта 2008 в 20:05
Серж, но все таки делфи лучше. С одной стороны все довольно просто, если хорошенько изучить, а с другой возможности очень и очень большие. Вставлять куски на асме можно и в делфи.
26 марта 2008 в 18:04
Ясен пень, что без теории никак.. Но алгоритмы не в голове ж трассировать
>> остальные основываются на них
Думаю некорректно сказано, все-таки взяв Java или C# к примеру, то философия у них иная, чем у С++…
А синтаксис – да, похож
26 марта 2008 в 17:05
C++ давайте уточним? это тот который с библиотекой MVC или gcc или Borland C++ , там у всех есть значительные отличия, не говоря уже про Borland CBuilder
26 марта 2008 в 17:05
а начинать лучше с теории как делать, а язык на самом деле не важен сильно… тут выше примеры подходящих есть:
Pascal,
C++
остальные основываются на них, в большинстве случаев на Си, PL/SQL и прочие серверные языки манипуляции данными на паскаль…
26 марта 2008 в 16:00
А чем так С/С++ сложен для начинающих?
В дебри никто сходу не заставляет лезть
26 марта 2008 в 15:04
Практически невозможно научить хорошо программировать студентов, ориентированных первоначально на Бейсик: как потенциальные программисты они умственно оболванены без надежды на исцеление.
Эдсгер Дейкстра
Си – признанный мировой стандарт, однако он достаточно сложен для начинающих. Остается только Паскаль, если не считать фигни всякой.
ВЫВОД: Начинайте программировать на Turbo Pascal for DOS, а как освоитесь, переходите на C++.
26 марта 2008 в 12:01
Влад, мы в свое время при упирании в ограничение, учили АСМ и вставляли АСМ в бейсик. В итоге все летало )))
26 марта 2008 в 9:02
Возвращаясь к названию темы. Легче всего по моему начинать с бейсика, как начинал я еще в третьем классе на дреевнем таком компе.В пятом классе я уперся в ограничитель возможностей бейсика в области графики и системы. И мне порекомендовали делфи… После бейсика вначале было трудно, но это только в начале…
26 марта 2008 в 4:03
С этим у нас всегда были проблемы.
26 марта 2008 в 1:01
Дмитрий, математика – нафиг кодеру не нужна. Особенно, если есть четкое описание задачи )))
25 марта 2008 в 20:01
Я, например, кодер За всю жизнь не изобрёл ни одного алгоритма. Или по крайней мере не заметил этого факта. В последнее время работаю как ведущий программист, стараясь всячески скрывать тот факт, что я ненастоящий программист, а всего лишь кодер. Пока вроде никто не догадался Или из вежливости не говорят.Я начинал с Бейсика. Канонический случай: начал с Бейсика и кодер на всю жизнь! Мне всегда не хватало математики. В политехе ходил на курсы повышения математической квалификации, но моим мозгам это сильно не помогло.
25 марта 2008 в 7:05
Так кто же такой кодер? Что-то куда не сунешься, одни программисты, и все говорят про неведомых зверей кодеров.
25 марта 2008 в 1:03
Евгений, замечательное решение. но пусть кодеры призадумаются.
по поводу стандартных алгоритмов: в некоторых случаях, если принимать во внимание конечность человеческой жизни, требуется придумать совершенно отличный от очевидного алгоритм.
24 марта 2008 в 23:03
>> Вот из-за таких людей как Вы, компьютеры становятся все быстрее, а программы все медленней.
Эт т.е. кто пользуется активно библиотеками, неполноценные что ли… Странно. Тут очевидно уже идет разделение обязанностей. Есть класс людей, которые будут делать эти библиотеки и они же будут их доводить до совершенства. Есть другой класс, которые ими оперируют и делают что-то новое. гораздо шустрее, легче и приятнее.
24 марта 2008 в 21:01
Ребята, прочитайте название темы. Нафлудили тут.
24 марта 2008 в 20:02
ЗЫ:
>возможно вы еще руками байты по памяти перекладывали на компах размером с холодильник поэтому мне понятен ваш подход …
Прежде чем делать такие предположения, можно заглянуть в профиль. Я не настолько стар, как вы подумали
Если это был сарказм, то достаточно неудачный.
24 марта 2008 в 20:01
2Сергей Гузев
Вот из-за таких людей как Вы, компьютеры становятся все быстрее, а программы все медленней.
К тому же существует большое количество областей науки/работы, где постоянно ведутся исследования чего-то нового и понятия "стандартный алгоритм" там практически не существует. Что же вы будете делать там со всеми своими знаниями "технологий"? Ничего! Можно конечно не соваться в эти области, но тогда вы исскуственно ограничиваете себя в своем развитии. ИМХО, это неправильно.
24 марта 2008 в 14:03
> Все стандартные алгоритмы 1000 раз переписаны
Говори за себя. "Все алгоритмы, требующиеся мне на моей работе, есть в стандартной библиотеке".
Про свою работу я лично такого сказать не могу – мне постоянно приходится придумывать новые алгоритмы.
Ты утверждаешь, что эпоха науки в программировании уже закончилась?Тогда попробуй как-нибудь зайти на scholar.google.com, acm.org или springerlink и поискать там по <вставить свою любимую тему в программировании>.
> знание методики программирования , знание построения дизайна в наше время более актуально
С этого места поподробнее. Разве может что-то быть актуальнее, чем, блин, умение _программировать_?
24 марта 2008 в 12:05
Павел Борзенков , позвольте с вами немного не согласиться )))
В наше время с обширным использованием новых языков высокого уровня таких как (С-Пошарпаный,Ява, С++) такое понятие как кодинг и программирование сливаются воедино ….
Как я представляю себе у вас не один год опыта за спиной , возможно вы еще руками байты по памяти перекладывали на компах размером с холодильник поэтому мне понятен ваш подход …
Но надо зрить в будущее !!! Все стандартные алгоритмы 1000 раз переписаны и собраны в библиотеки , появляется такое понятие как Time To Market programming , на многие вещи закрываются глаза так как возможности новых компов позволяют принебрегать аккуратной работой с памятью итд.итп… И все должно делаться быстро !!!!
Я не утверждаю что сейчас программист не нуждается в обширных знаниях математики … Просто это постепенно отходит на второй план , знание методики программирования , знание построения дизайна в наше время более актуально …..
24 марта 2008 в 11:02
Компилятор умный, примеры программ.
А можно поставить турбо С, на простых консольных приложениях тренироваться.
В принципе там много интересного, но основной плюс – то что работы с указателями нет. Безопасный код.
Короче для изучения объектно ориентированного программирования Номано.
А если с нуля, то borland c for dos. Синтаксис осваивать…
24 марта 2008 в 11:01
C# .net
24 марта 2008 в 8:05
Ну так это значит только то, что **в С++** нет математики.
24 марта 2008 в 7:05
Хе, открыть можно книжку двух Уильямов "СД на С++"… Там математики нет почти… ))
24 марта 2008 в 7:04
Че спорить… мне кажется, программирование изначально основано на математике. Программирование по сути дела – реализация какого-либо алгоритма. Теория алгоритмов, и все с ней связанное – раздел математики.
Откройте томик Кнута и посмотрите СКОЛЬКО там математики. и не спорьте больше, а книжки хорошие почитайте )))
22 марта 2008 в 22:00
Так что же за звери такие все-таки программисты и кодеры? Так и не врубился.
С одной стороны, сижу внушительное время выводу граничные условия к колебаниям струны и решаю методом Фурье уравнения матфизики. Что-то подсказывает, что программированию не больно способствует.
С другой, взять такую область как компьютерную алгебру, там без математики никак. Особенно без алгебры с геометрией. Или параллельное программирование, все таки это hpc и на эту область направлены.
И не в математике дело. А дело в подходах, методах, действиях. Математика – хорошо, но ее недостаточно. Нужно и в гуманитарной области хорошо соображать, а конкретно, среди огромного массива информации выбирать нужное, структурировать, отсекать и т.п. Так что пробовать нужно все, и интересно, и полезно. А программирование лишь средство, чтобы реализовывать свои идеи.
22 марта 2008 в 9:00
> и что мне мешает ему им стать
Отсутствие любви к математике. Хорошим программистом он точно НЕ станет. Его экстравагантный подход, возможно, приведет к тому, что ему будет очень интересно программировать; упорство приведет к тому, что он станет первоклассным кодером. Но он НЕ станет Программистом в моем понимании этого слова, пока математика не станет для него родной стихией.
Программист – это в том числе ученый; ученый без математики – не ученый; программист, не являющийся ученым – кодер.
Леонид, вроде же решение за 2n. Имеется в виду решение с двумя указателями, где один обгоняет другой в 2 раза?
22 марта 2008 в 0:03
наивно. любого математика можно обучить программированию, но не всем это интересно (знаю таких). еще знаю, например, неплохих кодеров, не знающих математики. но, увы, они просто кодеры.
вот вам задачка – определить, не зацикливается ли односвязный список, обладая крайне ограниченным объемом памяти. требования к алгоритму: список на выходе должен быть в неизменном состоянии, сложность в худшем случае менее, чем $O(n^2)$.
21 марта 2008 в 23:04
Не… конечно до спеца мне, как до Луны пешком,но всё приходит со временем,тем более я пока молод и есть и другие прекрасные вещи,например девушки- жизнь она прекрасна.Да ,но вернусь к теме,рассмотрите жизненную ситуацию человек не любит матику,а мечтает быть программером, и что мне мешает ему им стать,просто нужны оригинальные идеи,экстравагантный подход, и много много упорства… конечно с ним ,то как раз проблемы:) ПРЕЖДЕ ВСЕГО НАДО ЛЮБИТЬ СВОЮ ПРОФЕССИЮ!!!!!!А всё остальное придёт непременно!
21 марта 2008 в 22:03
Что ты хотел этим сказать?
21 марта 2008 в 22:02
Немного мозгов – и ты математик. Или программист. Что-то не все математики – программисты.
21 марта 2008 в 8:01
//it.slashdot.org/article.pl?sid=05/03/30/1655238 и в частности //it.slashdot.org/comments.pl?sid=144281&ci...
21 марта 2008 в 7:05
Я уже определился: Для создания (уточню – хорошего) оптимизатора запросов нужна безумно сложная математика.
У MySQL оптимизатор запросов так себе.
У PostgreSQL он тоже не идет в сравнение с оптимизатором MSSQL и тем более оракла.
Насчет "не особо парясь" – ты читал исходники MySQL и PostgreSQL и можешь точно сказать, что там все ужасно просто, и что все это прекрасно можно было придумать, будучи ни в зуб ногой в области математики?
Читать из DBF – невелика хитрость, я говорю про оптимизатор, а не про читалку.
21 марта 2008 в 5:05
Серж Андреев, а еще раз перечитать предыдущий пост и попробовать вникнуть? )
21 марта 2008 в 2:01
Жека, ты со всем твоим математическим аппаратом 1/1000 часть MS SQL наверное не сделаешь. А народ не особо парясь накатал PostgresSQL и MySQL. И все работает. А мои программы читают напрямую с DBF-а быстрее, чем MS SQL и никакой математики. Ты уж определись, родимый, что ты сказать-то хочешь…
21 марта 2008 в 0:05
Про СУБД – это полный бред, извини. Для создания оптимизатора запросов нужна безумно сложная математика. Почитай как-нибудь статью, посвященную только одному компоненту оптимизатора запросов в MS SQL Server – оценщику числа результатов джойна. Там 50 страниц жуткой математики, которую невозможно читать, если ты не задался целью во что бы то ни стало прочитать эту статью. Я не осилил.
Для создания по-настоящему надежной – доказанно надежной! – системы управления транзакциями нужны формальные модели для описания параллельных процессов.
И т.п.
Насчет окружности с целочисленной арифметикой – разумеется, могу; и в 9 классе мог. А что, разве это сложно? И математика тут не причем, просто немножко мозгов надо.
21 марта 2008 в 0:04
Жека, не нужно так категорично заявлять. Для всего есть алгоритмы. Вот можно. как вы считаете, написать программу, рисующую круг, без знания математики? И что понимать под "математикой"? Если вы прошли курс средней школы, то вы знаете математику или нет? Для построения круга достатосно иметь образования классов семь. Для создания СУБД – 10 классов за глаза. Вы уж определитесь, в каком объеме нужно эту "математику" знать. А потом уж и будем дискутировать.
Для справки. В 7-м классе на компьютерном кружке я написал программу "часы", где минутная, часовая и секундная стрелки двигались по окружности. Для этого нужно глубокое знание математики или нет? В 9-м классе на ассемблере написал программу для построения окружности. Использовал лиш целочисленную арифметику. Для этого нужна математика? И в каком объеме? Все расчеты были выведены из X=SQRT(R2-Y2). Жека, вы сможете сейчас повторить мой опыт, но уже с более глубоким знанием "математики"? не обязательно на асме, достаточно на С/С++.
21 марта 2008 в 0:04
если б знали математику – применили б тригонометрию:) мне она всегда была ближе. я окружность через синусы прописывал, это более легко шло для меня тогда
21 марта 2008 в 0:04
Все верно. Стрелки через синусы/косинусы и рисовались. А вот с целочисленными вычислениями нарисовать круг без знания вышки можно? Я – рисовал.
21 марта 2008 в 0:03
Это не программисты, а кодеры (да, я ханжа и сноб ).
Вообще трудно сказать, что значит "хороший программист" – но в моем понимании это не только человек, который, скажем, здорово умеет писать интерфейсы, или системы документооборота, или ядра ОС – спору нет, эти вещи писать совсем не просто, и назвать плохим программистом того кто их умеет писать – нельзя.
Но я в понятие "хорошего программиста" вкладываю еще и умение создать что-то _принципиально_, _научно_ новое.
А в науке без математики никуда.
Человек, у которого плохо с математикой, никогда не сможет придумать оракл, или изобрести язык Erlang или J, или изобрести MapReduce, или написать ядро системы Mathematica.
21 марта 2008 в 0:03
ну тема была про начало программирования, с чего начать,а не как стать гением:)
21 марта 2008 в 0:00
Нужно прежде всего математическое мышление – способность видеть и формулировать закономерности, строить абстракции, и оперировать ими не на уровне махания руками, мычания и написания многостраничных полных воды статей (и постов ), а на уровне математически строгих доказательств.
21 марта 2008 в 0:00
я не считаю что им надо изучать курс логики. для меня в ВУЗе это было потерянное время, скучно было этот бред слушать, программированию ничуть не помогало. для программирования нужно программирование:)
а математика – это уже более высокий уровень,для тех программистов,кто пойдет дальше и именно по этой стезе.а для тех кто будет базы данных делать или хтмл -странички, им то зачем?
20 марта 2008 в 23:04
на самом деле Эйнштейн был очень хорошим математиком, это вы преувеличиваете.но в школе он правда от других отставал. просто математика нужна не для всех программистов. им нужна логика
20 марта 2008 в 23:04
Дмитрий БЕОВУЛЬФ Бородин
А это тоже из математики. )
По крайней мере развивает. И матлогика в том числе.
20 марта 2008 в 23:03
чтобы быть _хорошим_ программистом, математику знать надо.
может быть и не ту вышку, что преподают в институтах (в большинстве институтов, насколько я могу судить, ее либо преподают плохо, либо студенты ее не учат), но математику.
20 марта 2008 в 23:02
Мы говорим о том, что чтобы быть хорошим программистом, надо знать математику.
Александр, ты считаешь себя хорошим программистом?
20 марта 2008 в 23:02
при всей моей любви к математике, к программированию она не имеет отношения. математика – это скорее к моделированию. но программист может заниматься моделированием, а может и нет
20 марта 2008 в 23:02
Дмитрий, +1!!! Котлеты отдельно, мухи отдельно. Я считаю себя хорошим программистом и плохим математиком. Энштейн был Великим физиком и очень плохим математиком. Тем не менее…
20 марта 2008 в 22:05
Александр Силкин, а что ты тогда здесь делаешь?
Димас Кирсанов, шутник блин нашелся. Ассмемблера для какой архетектуры?
Скажи ты и правда веришь что с этого надо учить программированию? )
20 марта 2008 в 22:04
С ассемблера полюбому !!!Сам учу и всем советую, красивый и мощный язык))…
20 марта 2008 в 22:03
Господа,большинство из Вас утверждает,что без Высшей математики не овладеть искусством программирования,я лично считаю так:можно неплохо разбирать и кодить.Я НЕНАВИЖУ эту гребанную математику,несмотря на это кодерствую по-маленьку…
Конечно тяжеловато,долго разбираюсь,да и алгоритм не всегда рациональный(а у кого он сейчас вообще рациональный ).
20 марта 2008 в 22:01
Еще один. )
20 марта 2008 в 17:03
мое мнение — C#
с него я и начал
20 марта 2008 в 17:02
ну зачем же вырубать-то…достаточно просто клаву отсоединить
16 марта 2008 в 19:01
Ну если в Виндовс, то можно просто залочить его… <Windows>+<L> клавиши
16 марта 2008 в 19:00
ПРОШУ ДОЧИТАТЬ ДО КОНЧА!!!Люди помогите пожалуста,я новичок!!!Уменя маленький ребёнок,постоянно лезит в КОМП чтонибуть нажать.Чтобы отлучится на пару минут.постоянно приходится вырубать компьютер.Подскажите есть ли какаянибуть программа для блокировки клавиатуры, как на сотовых телефонах.Зарание огромное спасибо!!!Пишите в контакт!
16 марта 2008 в 16:02
>>А как в gentee обозначить функцию, которая ничего не возвращает?
именно так…
func uint hello_world()
{
print("hello word!")
return 0
}
15 марта 2008 в 23:01
Данила CDNM Сергеев
//en.wikipedia.org/wiki/BASIC
Учи матчасть, сынок. Раз уж мы теперь на ты.
>По этому я и написал "C/C++"
Если ты ставишь плюсы, то это предполагает определенный стиль. В любом случае, в программе было столько ошибок, что она ни разу бы не скомпилировалась, поэтому дальнейший флейм считаю излишним.
15 марта 2008 в 22:05
Ааа, вот оно что. Ну тут кстати основная суть беседыкак раз пропогандирует обратное. )
15 марта 2008 в 22:04
К тому, что многие зацикливаются на одном языке презирая другие, и при этом говорят что лучше этого языка не чего нету (опираясь на услышанное или прочитанные сведения).
15 марта 2008 в 20:02
Юрий Воронцов, это к чему было сообщение? ))
15 марта 2008 в 20:01
омг… я начала с Basic'a.
Обалденный был учитель ^^
15 марта 2008 в 18:00
А я начал изучать, совсем недавно правда (вчера:) ), Паскаль.
Буду с ним разбираться.
15 марта 2008 в 16:04
Вапче то очень удручает что Агромное количество народу имеющее к программированию отношение постольку поскольку причисляет себя сразу к чуть ли не к гениозам Ентого Мира.Это не относится к предыдущим постерам просто Мысли НАБОЛЕВШИЕ вслух ))
Я сам токо начинаю писать программы и голова лопается от количества языков (просто тупо их количества) И попрошу не забывать что наст программист обязан в совершенстве знать 2-3 языка и еще уметь писать на 10 иметь представление об этом. А УЖ потом что то советывать.
А то люди пишут проги типа Хеллоу Ворлд на Си С всеСАмоделающимВизуал Майкрософтом,и потом советывают .
15 марта 2008 в 13:04
>>Мне казалось, что бейсик и вижуал бейсик – разные языки.
Тебе это действительно показалось
>>Что касается С++, то он родимый все поймет
По этому я и написал "C/C++"
15 марта 2008 в 11:01
Ну, если у тебя вызывает затруднение понятие пустого типа, то я не уверен, что ты можешь корректно и точно объяснить, что такое тип в общем понимании этого слова Может, попробуешь? То определение, которое дал я – очень грубое и не особо правильное.
А как в gentee обозначить функцию, которая ничего не возвращает? Заставить ее возвращать какое-нибудь ненужное значение, например 0?
15 марта 2008 в 10:00
ну, чё такое тип я и так знаю… эх мудрёный больно этот язык С++… Вот в gentee! str – строчка, uint, int – числа, arr – массив, и т д…. Всё легко, и никаких пустых типов… Тока функций пока мало, с картинками и музыкой не сильно хорошо умеет работать…
15 марта 2008 в 8:03
Че-то в предыдущих постах нафлеймил. =)
Полагаю, начинать нужно со Scheme, потом переходить на OCaml. Окемл прост (по-сравнению с C++), практичен, поддерживает и императивный стиль, и функциональный, и ООП, и модули (они и в Scheme есть, но все implementation-specific, что не радует. R6RS должен это исправить).
15 марта 2008 в 8:01
2 Алексей svchost.exe Аксёнов
> Что касается С++, то он родимый все поймет, т.к. является
> надмножеством Си.
Поймет, да не все. C89 является подмножеством C++, а C99 — нет.
15 марта 2008 в 1:03
блин, а кряк есть у когонить на Visual Studio 2008 Professional Edition ? народ, поделитесь
14 марта 2008 в 20:03
>>Что касается С++, то он родимый все поймет, т.к. является надмножеством Си.
Кстати к сожалению как раз не полным надмножеством. Тоесть их пересечение не полное, хотя и достаточно большое. ((
14 марта 2008 в 19:01
Мое первое знакомство с миром битов и байтов началось смешно.Дело было классе в 7-ом.Компа своего не было, мамке дали с работы старую рухлядь и я начал винду осваивать(удалять системные файлы и пр. )Затем как-то копаясь в Word'е набрел на встроенный редактор VB и поперло(купил книжку по VB6 нашел дядьку хорошего,он мне компиляторов целый сидюк дал и я стал пытаться кодить,но потом пришлось уехать в другой город,без компа ;(((.Но не все так плохо в новом городе я начал кодить на С++ и по сей день на нем пишу,или пытаюсь писать
14 марта 2008 в 19:01
>Вобще то нельзя – запрещено стандартом
Погорячился, был неправ.=)
>такое описание на всех бейсиках одинаковое
Мне казалось, что бейсик и вижуал бейсик – разные языки.
Что касается С++, то он родимый все поймет, т.к. является надмножеством Си. А stdio.h (cstdio) нам нужен для ввода/вывода, а не генерации псевдослучайных чисел. rand() и srand() объявлены в cstdlib. Так же неплохо бы подключить время ctime для "случайности", но это уже мелочи…
14 марта 2008 в 17:00
Интересный топик.
Что я изучал:
C, C++, Pascal, Delphi, ABAP/4, OpenSQL, XML, D, JavaSсript, Java, Erlang, Common Lisp, Scheme, Smalltalk
Много программировал только на C, C++, D, ABAP/4.
Недавно заинтересовался ФП (с января где-то). Начал со статьи на RSDN (//rsdn.ru/article/funcprog/fp.xml).
Касательно того, с чего начинать. Я думаю, теория с практикой должна идти рука об руку, как уже было озвучено. Однако не у всех с математикой лады, и хотелось бы решать практические задачи. Ибо математика без приложения к чему-либо не имеет никакого смысла (жирное ИМХО).
Касательно необходимости математики программисту есть интересная статья //cylib.iit.nau.edu.ua/Mirrors/ask.km.ru/unics/...
Математика научит думать, но писать хороший код — сомневаюсь. Под хорошим имею ввиду — поддающийся тестированию, отладке, поддержке, переносимый, читаемый, эффективный (ну вот тут да, поможет).
Вдобавок ко всему, я думаю, вы все упускаете из вида программистское любопытство (и лень ), которое толкает нас на изучение новых языков и, возможно, технологий. К сожалению, этим любопытством обладают далеко не все программисты.
14 марта 2008 в 17:00
>>Basic, тогда как это Visual Basic
Вобще-то такое описание на всех бейсиках одинаковое и будет одинаково работать.
>>С/С++, тогда как это Си
В C++ будет то же самое, только вывод будет другим, хотя и такой он должен понять
>>пока вы не инклюдите stdio.h
Я просто не вспомнил какой файл подключается для вычисления случайных чисел когда писал
>>некрасиво и обидно сравнивать синтаксис компилируемых и >>интерпретируемых языков.
Здесь небыло указано какие именно языки интересуют, поэтому я и решил показать язык Ruby.
А может пускай каждый выложит как он решает задачу (да же не эту а че-нить по тяжелее) на каком-нибудь языке?
14 марта 2008 в 9:04
Тип – это, грубо говоря, какое-то множество значений. Например, тип int – это множество, состоящее из всех целых чисел от -4млрд до 4млрд, а тип char* – это множество, состоящее из всех адресов в памяти, а тип struct S {int a; float b;} – это множество, состоящее из всех пар, где первый элемент принадлежит int, а второй – float.
Также можно интерпретировать тип как функцию (значение –> принадлежит ли оно типу). Тогда можно ввести, например, тип "четное число".
void с первой точки зрения выглядит как пустое множество – в нем нет ни одного значения.
А со второй точки зрения – как функция, всегда возвращающая false.
Применяется он:
В виде просто void – для обозначения "функция ничего не возвращает": void f().
Поскольку в нем нет ни одного значения, то бессмысленно объявлять переменную типа void или член структуры типа void (все равно с ними ничего было бы нельзя сделать) – поэтому это делать запрещено.
В виде void* – для обозначения "указатель, но неизвестно на что именно". Это совершенно нематематично, но все же.
Стало понятнее?
14 марта 2008 в 9:00
я с gentee начал, теперь мучительно пытаюсь перейти на С++… (до учебников ещё никак не доберусь, пока ломаю голову чё за тип такой void))))))))))
14 марта 2008 в 5:00
>> В С++ можно опускать тип, возвращаемый функцией
Вобще то нельзя – заперещенно стандартом и на современном компиляторе не соберется.
Ну и еще по стандарту main должна иметь тип только int.
14 марта 2008 в 0:03
Данила CDNM Сергеев, некрасиво и обидно сравнивать синтаксис компилируемых и интерпретируемых языков. Еще не пристало писать Basic, тогда как это Visual Basic, и С/С++, тогда как это Си. И все равно это чудо не скомпилится, пока вы не инклюдите stdio.h и не поставите хотя бы пустой список формальных параметров функции main().
В С++ можно опускать тип, возвращаемый функцией и объявлять счетчик внутри цикла с параметром. Это к вопросу о краткости.
А в целом для рекламы Руби очень неплохо! =)
13 марта 2008 в 21:02
Нет, не только – скачай интерпретатор и посмотри примеры (меню – Studio -> Demos).
13 марта 2008 в 21:01
Мне показалось или это только математический язык программирования?
13 марта 2008 в 21:00
а можеш скинуть ссылку на этот язык, меня он заинтриговал, хотелось бы поподробнее его посматреть
13 марта 2008 в 21:00
//www.jsoftware.com
Будет ОЧЕНЬ трудно, но ты держись
13 марта 2008 в 20:05
Мне совершенно понятно, что начинают в наших вузах с си; я сам с него начинал, и ФП заинтересовался только где-то 2 года назад. Шло очень туго, шокировало, отторгалось. Но я узрел искру и продолжил
Это не нравится мне тем, что в итоге 99% студентов не знают ни о чем кроме си и не представляют, что есть что-то еще. А языки семейства си не позволяют оперировать большинством абстракций, кроме самых простых; многие идеи в них вообще нельзя выразить.
Что не лучшим образом сказывается на их знаниях, умениях, стиле кодирования и т.п., и вообще, так сказать, на ситуации с программистским образованием в России.
Преподавать из программирования только языки семейства си, и начинать с него – все равно что начинать преподавание литературы с Достоевского, и ничего не проходить кроме него.
Поэтому я и произвожу активистскую деятельность – чтобы больше людей узнало о том, как широк мир языков программирования, и чтобы больше появилось хороших программистов.
Я совершенно согласен, что новичку проще освоиться с си или паскалем, потому что их все вокруг знают. Но это значит не то, что им надо с них и начинать – а значит то, что тем, кто знает больше, следует подталкивать новичков к другим языкам, которые сделают из них более хороших программистов, и помогать им с освоением этих языков, делиться информацией, преподавать… Именно поэтому я тут и веду пропаганду, и именно поэтому веду курс SICP в литмо
13 марта 2008 в 20:05
Про хаскелл очень много всего на haskell.org – заходишь в вики и…
Про эрланг – напиши мне в личку, кину тебе свою презентацию про него, там много ссылок.
13 марта 2008 в 20:05
вот часть синтаксиса языков, описывающую программы:
Дан массив из 51 элемента, заполнить его случайными числами и вывести результат на экран
=========Pascal/Delphi:============
var ar:array[0..50]of integer;
i:byte;
begin
for i:=0 to 50 do begin
ar[i]:=random(200);
write(ar[i],' ');
end;
end.
=========C/C++:=========
void main{
int ar[51];
int i;
for(i=0;i<51;i++){
ar[i]=rand(200);
printf("%i ",ar[i]);
}
}
========Basic:=======
dim ar(51);
for i:=0 to 50
ar(i)=rnd(200)
print ar(i)
next i
========Ruby:========
p Array.new(51){rand(200)}
__________________________
Это конечно не весь синтаксис, но все же сравнить реализацию этой задачи можно
13 марта 2008 в 20:05
А вот J:
51 ? 200
13 марта 2008 в 20:03
Жека, я из твоих постов понимаю, что тебе не очень понятно(а может и не очень нравится), что большинство начинает свое обучение с языков си, паскаль … Чем тебе это не нравится? Понятно что существует много языков, много подходов к программированию, но во-первых вопрос ставится так: с какого языка начать изучение программирования, обычно новичек старается освоить самые распрастраненные языки, а что это – если не Си или Паскаль зарекомендовавший себя как язык для обучения уже долгое время. Ведь идея простая, банально по ним больше документации, чем по какому либо другому языку, а что еще нужно новичку. Например я начинал программировать на Паскале, ибо про другие мало знал, а по этому было до фига документации. Я согласен с тобой что может это и не лучший выбор, но просто надо остальные языки сделать более распространенными в массах и тогда все изменится. Я например щас пишу в основном на Jave, но недавно увидел такие интересные языки как Эрланг и Хаскел. Жалею что не узнал их раньше, сейчас помаленьку изучаю вообще класс, кстати если есть какие интересные статьи по ним иликнижки, был бы рад))))
13 марта 2008 в 20:03
учится лучше на том, что покажется тебе проще, т.е. какой синтаксис покажется простым
13 марта 2008 в 20:02
Нууу, думаю вряд ли можно всякое словесное описание алгоритма записать на языке программирования.
Да хотя бы взять к примеру численный методы поисковой оптимизации. Простая штука, посчитать значение какой-нибудь функции, а функция может быть чем угодно – или аналитически задана, или каким-нибудь алгоритмом и т.п.
13 марта 2008 в 19:00
Права. Так как учиться-то?
13 марта 2008 в 18:05
балин…………..главное алгоритм…………..если можешь обычными словами его написать, то и запрограммить не сложно. Понятно, что когда компилишь тебе показывает где какая ошибка, так ошибки-то синтаксические, а не логические……………….а программирование – это в первую очередь логика………….или я не права?
13 марта 2008 в 18:04
теориъа и практика должны идти рука об руку
13 марта 2008 в 18:03
Слова, слова… И каким же образом натренировать программистское мышление, не имея дела с языком?
13 марта 2008 в 18:02
а по мне так надо не с языка начинать, а с мышления……………программирование – это мышление, а уж реализовать можно на любом языке, главное захотеть…….
13 марта 2008 в 17:03
Любым другим – это каким? Или это все-таки означает "с любым другим из семейства си" – т.е. java, C#, fortan?
13 марта 2008 в 17:03
Кстати если уж начинать с простого – то неужели Scheme сложнее си?
13 марта 2008 в 17:00
>Александр, из твоего сообщения следует, что в жизни программиста есть только два языка и две ступени: Паскаль и Си. Так?<
Вовсе нет, но начинать все-таки лучше с простого. Усвоив основы, потом уже не составит особого труда разобраться с любым другим языком высокого уровня.
13 марта 2008 в 15:00
Игорь, а через какие языки, по-твоему, нельзя?
13 марта 2008 в 14:04
По любому Pascal. Только через него можно нормальную логику выработать.
13 марта 2008 в 13:04
Популярность это очень странная оценка языка, вообще непонятно, что она оценивает, кроме собственно популярности и, возможно, простоты и универсальности языка – и исторических обстоятельств.
Однако суть SICP не в том, чтобы научить писать на Scheme – этому там учат в первой главе, а в видео – в первой лекции, а в том, чтобы научить _мыслить_ программистски – этому посвящены остальные 10 глав и 20 лекций.
SICP – это НЕ учебник по лиспу. Это учебник по программированию.
На псевдокоде тоже никто проекты не пишет – однако тебе же не придет в голову говорить, что книга Кормена – это "штучка". Аналогично MIX и Кнут.
13 марта 2008 в 13:03
я еще только начал читать, так что пока "штучка" Тебе не кажется, что схема – мертвый язык? Я в инете не нашел нормальных проектов на схеме. Меньше чем на смолтолке
13 марта 2008 в 12:04
Математика важна потому, что приучает к абстракции, точным формулировкам и т.п., и дает понять, насколько важна нотация. Не готов сейчас очень подробно рассуждать на эту тему.. Наверняка в интернете тысячи статей "Зачем программисту математика" (кстати, надо бы поискать-почитать)
Мне математика нужна довольно регулярно, хотя в основном простые разделы статистики или анализа – но я согласен, что в плане практики она нужна далеко не всем.
В плане терминологии чрезвычайно важна абстрактная алгебра – там есть множество понятий, очень важных именно в программировании – свойства бинарных и унарных операций: идемпотентность, инволютивность, ассоциативность и т.п.; такие вещи как изоморфизм или гомоморфизм, и т.п.; группы, моноиды.
SICP – это не "интересная программистская штучка", а настоящий фундаментальнейший учебник программистского мышления и всех основных концепций программирования, причем с полного нуля! По ней учат на первом курсе! Очень странно, что ты ее так назвал – я ведь тебе ее присылал. Неужели по прочтении какой-то ее части у тебя сложилось именно такое впечатление?
13 марта 2008 в 11:04
Мне кажется, что почти никто из программистов чисто с математики не начинал Ни одного не видел, кто бы сначала выучил универский курс, а потом начал программировать Я слышал, индусов так только учат – 2 месяца на последнем курсе дают C#.
Потому что если обучать чистой математике, то и человек получится – научный работник. И пойдет он скорее всего в науку – математику. А программировать будет только алгоритмы, чтобы подтвердить свои исследования.
А вот чтобы получить программиста, то надо изначально привить интерес к самому этому делу. А как привить, кроме как не дав попрограммить на каком-нить языке чего-нить интересное? Я помню стал программистом 1) потому что хотел сам программить компьютерные игры 2) потому что мне показали как рисовать простенькую анимацию в бейсике на корвете
И когда уже человек "зацепился", то он и будет на подсознательном уровне развиваться в соответствующем направлении – потихоньку изучать алгоритмизацию, ООП, и т.п. "по теме" в общем.
В общем, имхо, молодого человека больше привлекает когда что-то крутится-вертится или там что-нить замечательное и забавное, ака игрушка получается, чем изучать интегралы и т.д., которые толком в школе и не понятно где будешь в жизни использовать.
Не знаю чем так особо важна математика, кроме того, что когда тебя учат математике, то и учат как логически размышлять, т.е. развивают мат. склад ума. А сама математика в программировании мне ни разу не пригодилась. Щас только пишу один софт для одного профессора в США по одной из областей теорвера и статистики, но и там всю математику, которая нужна вникаешь походуи он все равно вносит поправки, т.к. область специфическая. Но такие проекты – один на десять тысяч, чтоб прям мат софт.
Сейчас, чтобы увлечь человека идеей программирования, есть более интересные языки, чем пресловутый бейсик или паскаль. И ни в коем случае второй том Фаронова (практика программирования) нафик не нужен . Я в нем разобрался, но он уже десять раз устарел – ничего полезного для современного программера ни осталось. Кому нужен свой собственныый драйвер защищенного режима или драйвер мышки под DOS?!
Да и современные языки намного проще в освоении. Ну, бейсик-то почти не изменился, итак простым был Но зато щас можно писать сразу настоящие программы – с графическим интерфейсом и т.д. Например, для родителей своих чего-нить красивое и полезное А парадигме ООП, например, математика не научит. Только помочь ее понять может.И то не слишком, если положить руку на сердце. Интересные программистские штучки типа шаблонов проектирования, рефакторинга, SICP и т.д. можно научиться только посмотрев соотв-ую литературу.
13 марта 2008 в 8:03
Кстати да, про математику абсолютно согласен – она жизненно важна.
А вот библией программиста я бы назвал не Кнута, а SICP.
Игорь, Вы все правильно говорите, однако у меня опять ощущение, что для Вас множество языков программирования исчерпывается семейством си – бейсик, паскаль, си, С++, java, C# итп..
13 марта 2008 в 2:04
Игорь, пять баллов! Вы окунули меня в атмосферу школьных олимпиад по программированию конца 80-х годов.
13 марта 2008 в 0:03
вмешаюсьв ваш "разговор"
название темы : С какого языка лучше начинать изучать программирование??
являясь преподавателем специальных дисциплин для специальность -программирование- могу сказать:
изучать программирование лучше всего не с конкретного языка (как было сказано выше – если рассматривать программирование как искуство создания программ, а не как "ТУПОЕ" перекладывание известных алгоритмов на код конкретного языка), а с изучения математики (всех разделов) физики, архитектуры ПК и др. специальных дисциплин.
если изучать самостоятельно то можно порекомендовать – начать программировать с языка BASIC.
разобравшись с простейшими программами перейти на ПАСКАЛЬ (т.к. было обсолютно правильно сказано – этот язык создавался для обучения студентов, и он достаточно хорошо прижился).
для теоритической подготовки можно порекомендовать библию программиста – ИСКУССТВО ПРОГРАММИРОВАНИЯ писатель КНУТ, для изучения ПАСКАЛЯ – учебник ФАРОНОВА в двух частях.
кроме этого, естественно если хотите стать ПРОГРАММИСТОМ с большой буквы а не простым кодировщиком, пойти учится по данной специальности.
после освоения простых языков можно переходить к более сложным языкам программирования.
готов выслушать замечания.
спасибо за внимание
12 марта 2008 в 23:01
Да и то что можно делать на Паскале – прекрасно делается на Си… Никто же не заставляет лезть раньше времени в указатели )) И делать наркоманские выкладки в стиле a += ++a % –(++b);
12 марта 2008 в 22:04
Александр, из твоего сообщения следует, что в жизни программиста есть только два языка и две ступени: Паскаль и Си. Так?
12 марта 2008 в 22:03
По-моему, однозначно лучше начинать с Паскаля. Паскаль писался профессорами для студентов, а Си – программистами для себя)) В Паскале все проще и логичнее и новичку будет проще разобраться и усвоить основы. А после можно уже переходить и к Си.
11 марта 2008 в 20:04
мы дак для начала изучали QBasiс, потом постепенно перешли на Visual Basic 6.0…потом поехали HTML,ASP,PHP…
11 марта 2008 в 13:02
Нет. Изучаем си, а потом исходя из того какие задачи перед нами стоят изучам библиотеки!
11 марта 2008 в 12:03
Все равно не понял, что ты хотел сказать.
Ты утверждаешь, что начинать учиться программированию надо с си, потому что если знаешь си, то будут понятны распространенные библиотеки для си. Я тебя правильно понял?
11 марта 2008 в 12:02
Я имел ввиду что учить!
11 марта 2008 в 11:05
Нифига себе остальное.
Ты фактически сказал "Знаешь си – и можешь пользоваться библиотеками для си". Мир программирования, мягко говоря, значительно шире.
Загляни, например, в тему //vkontakte.ru/board.php?act=topic&tid=2598713
11 марта 2008 в 11:01
То с чем бу область действия связана то ли БД толи OpenGL(DiretX) толи сетевые технологии? WinAPI, MFC, Qt. И в зависимости от решаемых задач будут изучаться уже необходимые алгоритмы.
11 марта 2008 в 10:04
Егор, остальное – это что?
11 марта 2008 в 9:04
Я бы сказал что начинать надо с Си. Знаешь его и остальное понятно. Паскальтакой возможности не особо представляет! Да он и не нужен. А что являеться базовым так это вопрос философский! Лучше начть с малого а там дальше определишься и уже станет картина проясняться.
10 марта 2008 в 23:00
Неее, базовое эт философия… Ведь в основе всего лежит вопрос, что же первичнее – сознание или материя?
10 марта 2008 в 22:04
2Михаил Лавреев
Базовым для чего? Базовым где? Является ли Паскаль базовым для изучения алгоритмов? Или может быть для изучения ОО-программирования? Или быть может для изучения функционального программирования?
Язык не может быть базовым. Базовое – это математика.
10 марта 2008 в 22:01
С русского ? … А вообще если серьёздно то наиболее базовым является паскаль – знаешь паскаль с остальным проблем не будет …
10 марта 2008 в 21:05
Да уж, Олег отжог. Особенно 3-им пунктом. Остальные еще как то можно попытаться логически понять. )))
10 марта 2008 в 16:05
Я бы предложил начать с тренировки логики – это HightAssembler, это конструктор программ, очень лёгкий и понятный. А потом смотря на чём захочешь дальше писать. Например если на делфи, то с паскаля можно начать.
10 марта 2008 в 16:02
Олег, почему?
10 марта 2008 в 15:05
НАчинать нада с индусского кода
Ну а если по теме:
1. Pascal
2. C\C++
3.php.
4. Java.
10 марта 2008 в 15:02
я подозревал, что в бусте они есть
известный монстр-расширитель С++
10 марта 2008 в 14:03
Ну, зато есть boost::lambda – хоть и извращение, а однако же замыкания там пишутся даже проще чем в хаскелле.
Примерно как в Mathematica – там Sin[#+5]&, а в boost::lambda, насколько я понимаю, было бы типа sin(_1 + 5). Не представляю, как они это реализовали..
10 марта 2008 в 14:02
я бы не сказал, что ИИ – это задача
это наверно целый ряд задач, потому как область обширная и "ветвистая"
ну а то, что кроме Лиспа писать невозможно – это вообще достаточно спорное утверждение, но я не предлагаю спорить
про С++ же и про любой другой язык можно сказать, что после него будет простым и понятным язык, мощность которого не выше данного
разумеется, Лисп мощнее "плюсов", поэтому знание С++ никак не поможет при изучении Лиспа
вот, к примеру, такая, вроде, простая вещь как JavaSсript
но поскольку в базовых возможностях С++замыканий нет, то и тут ты не будешь их использовать, попросту ничего о них не зная
10 марта 2008 в 14:01
Ну это был мой первый не мейнстримовый, неимперативный язык Поэтому волосы дыбом и встали ))
Вообще, мне тут в голову все больше закрадывается мысль, что учиться программировать с низкоуровневых языков не очень хорошо Т.к. очень долго приходится осваивать детали, типа "а что у нас по такому-то адресу??", чем собственно решать задачу
Проблема в том, что заказчики требуют: C++/ C# / java / PHP / Ruby
(Насчет Ruby – лично не знаком, знаю только, что щас часто его просить стали)
Еще год назад было тяжело убедить С++ вый проект на C# писать, т.к. быстрее, а на не-мейнстримовых вообще убедить нереально
10 марта 2008 в 14:01
> учиться программировать с низкоуровневых языков не очень хорошо
Учиться программировать ТОЛЬКО на них – вот это действительно не очень хорошо. Но знать си и ассемблер – все равно необходимо, иначе никогда не будешь в состоянии адекватно оценить эффективность своей программы или понять причины ее неэффективности.
Насчет убеждения – смотря какой проект и на каком языке Эрланг например – хоть и не мейнстрим, а очень практичный; у нас используется где-то. А вот если в восторге от хаскелла или J убедить менеджера писать следующий проект на них – не исключено, что дело кончится провалом: людей, могущих на них хорошо писать, гораздо меньше, чем тех, кто в эти языки просто влюблен.
10 марта 2008 в 13:05
прошу прощения за С++ Просто я исхожу из своего опыта, не претендую на абсолютную истину Да и С++ очень распространен и всегда найдутся знакомые, готовые помочь с освоением. Но ты прав – мне пока довелось программить в-основном только на императивных языках .
Надо покопать про лисп Что-то много тут областей применимости перечислено
Smalltalk мне ужасно понравился своей виртуальной машиной. Ужасно оптимизированы полиморфные вызовы и стековые операции Точно не помню цифры, но факториал 1000 обычной рекурсией считает мгновенно Вот этим я и был очень удивлен. Удивлен его масштабируемостью – что делать большие штуки (операции с длинными числами как здесь или какие-нить огромные навороченые системы, где полиморфизм на каждом углу), что маленькие (тупо целочисленные тесты ) – одинаково. Ес-но на обычных числовых тестах маленького порядка он проиграет java, но как только начинаем пользовать ООП, java или C# нервно курит в сторонке Короче – smalltalk.ru.
10 марта 2008 в 13:05
Хм, скажу по секрету, 1000! считает мгновенно любой язык со встроенной поддержкой длинной арифметики – дело нехитрое
Странно, что ты оцениваешь его по скорости вычислений; у него же главное не в этом.
Если уж так нравятся вычисления – посмотри на J.
На smalltalk.ru погляжу.
10 марта 2008 в 9:05
Антон, это не язык для разработки искусственного интеллекта. Лисп знаменит в таком качестве лишь потому, что это самая известная из задач, которые ни на чем кроме лиспа писать невозможно )
Все остальное на scheme тоже можно писать, и тоже будет получаться лучше, чем на многих других языках.
Please don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list.
(с)Kent Pitman
Насчет "после С++ любой язык прост" – не согласен. Прост любой язык, почти ничем не отличающийся от С++ – например, си, паскаль, джава, и т.п. Почти ничем – по сравнению с действительно _другими_ языками.
Рекомендую посмотреть на языки J и K – это настоящий взрыв мозга и сдвиг парадигмы даже по сравнению с хаскеллом или Scheme. Тут уж я был в чрезвычайном шоке. Совершенно безумные языки; программы невероятно короткие (пример: арифметическое среднее – +/%#), очень быстрые (трудно написать на си программу, которая будет работать быстрее, чем программа на К – он оптимизирован по самое-самое) и невооруженным глазом практически нечитаемые – но люди, которые умеют на них писать, творят на них чудеса.
10 марта 2008 в 9:05
Кстати, чем тебя шокировал smalltalk? Я к нему все присматриваюсь, но пока издали не вижу, что он может мне дать.
10 марта 2008 в 9:03
я в 7-9 классе программировал сначала на GWBasic, потом на QBasic Потом год на Паскале.
В 11 классе на Turbo Pascal for Windows (кто-нить помнит такой? )
Потом на Delphi 6, C++ Builder 5.
В универе, на первом курсе на Паскале.
На втором – семестр на ANSI C (GCC & MS VS 6.0), семестр – на С++ и асме (fasm, в том числе и под Линукс).
На третьем курсе как начал программить на C#, так продолжаю На третьем же курсе познакомился с Design Patterns (был в шоке!).
Год назад с рефакторингом (был в шоке опять! ) )
Пол-года назад еще недельку поковырялся с Dolphin Smalltalk (был шокирован как никогда! Жаль, что smalltalk не используется щас почти , потом GNU Smalltalk.
Щас вот еще Жека SICP кинул, так что надо посмотреть что такое Scheme )) Прельщает, что это язык для разработки искусственного интеллекта
Мой совет – начинать УЧИТЬСЯ – с С++. Проблема, что красивости на нем очень тяжко пишутся Зато, если поймешь С++, то потом любой язык покажется медом Особенно C#
Это не пропаганда! ))
10 марта 2008 в 8:05
//users.livejournal.com/_adept_/13336.html Вот еще в кассу – это к вопросу о том, какие абстракции на си (и даже джаве) описать вообще невозможно, никак.
Да в общем можно найти достаточно примеров, если погуглить "(haskell | lisp) vs <your favourite language here>"
10 марта 2008 в 8:04
Вообще да, насчет текучести абстракций я погорячился – их там просто нету
Да, и на си тоже есть превосходно спроектированные вещи – мне, например, очень нравится архитектура OpenGL (уж не знаю, на чем его изначально писали, но он предназначен для использования из низкоуровневых языков, это почти ассемблер – но какой!).
Однако надо быть настоящим виртуозом, чтобы из одних неполиморфных функций нулевого порядка, массивов и циклов выстроить что-то красивое и в то же время понятное. А в большинстве случаев тут не хватит и виртуозности, и все-таки понадобится другой язык
В общем, это все довольно голословные утверждения; надо брать какую-нибудь конкретную задачу (не олимпиадную и не что-нибудь вроде планировщика задач для ядра – а такую, где требуется именно проектирование, а не просто виртуозная техника и алгоритмы) и сравнивать ее решение на си и на другом языке.
Вот, кстати, пример такого сравнения, хоть и не очень удачный – //www.haskell.org/papers/NSWC/jfp.ps
10 марта 2008 в 5:00
Может сам язык и хороший, но только мне не нравится его компилятор (слишком долгий, и скажем так не все проверяет, что делает ошибки, незначительные, но часто заметные). Хотя версий компиляторов Си много, может это мне так везет на него.
по теме:
Я считаю, что изучать надо с паскаля, самый простой и удобный язык программирования.
10 марта 2008 в 1:01
*остался при своем мнении в отношении олимпиадных задач, что они оттачивают технику.
По-моему, Жека, ты немного недооцениваешь си… Очень хороший язык. Кто сказал, что абстракция начинает течь?
9 марта 2008 в 17:01
Александр, низкоуровневые детали – это лишь одна грань. И это ЕДИНСТВЕННАЯ грань, с которой си хорош.
Си абсолютно не учит проектировать, строить абстракции, писать красивый код. Напротив, он наказывает за попытки так делать – потому что то и дело какая-нибудь абстракция начинает "течь".
Детали реализации можно выучить в любой момент, а вот дерьмовый императивный стиль может остаться на всю жизнь.
Вера, остальные это какие?
9 марта 2008 в 17:00
Согласен, что язык с которого ты начинаешь кодить решает очень много,т.к. остальные языки будут легче пониматься по аналогии с 1м. и чтобы действительно считать себя программистом нужно не только уметь циклы запускать или иф-кейс уметь использовать, но и понимать как работает платформа, как выделяется память для объектов и т.п. Не зная этого, речи о качественном программировании быть не может!
Посоветовал бы тебе начинать учить С, прочувствовать его изнутри, помучаться над выделением памяти. А потом обратить внимание на разработку под .НЕт платформу, а там уже решай сам какой язык выбрать, т.к. это неважно (если конечно ты не будешь писать на IL'e, то ты почувствуешь расницу между языками высокогои языками более низкого уровня)
9 марта 2008 в 17:00
Начала с С! Логичный и понятный! И после него все остальный языки как-то легко даются…=)
9 марта 2008 в 16:02
Ну, не будем решать за него – просто в любой дискусии о том, "какой язык лучше", непременно приходит дюжина товарищей со словами "лучший язык – такой-то" и тут же уходит. Я все не теряю надежду, что хоть кто-то из них сможет аргументировать свою позицию.
9 марта 2008 в 16:00
2Жека jkff Кирпичев
Видимо товарищ считает, что кроме низкоуровнего программирования ничего не существует. Я бы не стал советовать C в качестве первого и единственного языка. Он конечно хорош, но только в узком круге задач.
9 марта 2008 в 15:05
> only C
Это еще почему?
9 марта 2008 в 15:01
only C
9 марта 2008 в 14:05
Я считаю что изучение нужно начинать с языка Pascal, ибо он для этого идеален, строго типизированный, хорошо структурированный, лучше для обучения не придумать. А потом уже можно переходить на языки типа С++ и т.д., они не так жестко структурированы и очень гибки, именно из-за гибкости их не стоит изучать первыми, ведь кто не приучен к строгой структуре, не способен написать большую, пригодную для расширения программу.
9 марта 2008 в 14:01
Все-таки, вряд ли олимпиадное программирование отточит технику программирования. Ведь это спорт, придумать, точнее скомбинировать из того, что уже придумали заранее и реализовать… Коротенькая программа, написал – убрал… Хотя ничего против не имею, отличный способ поморщить лоб ))
А программирование с промышленной точки зрения – эт сложные, боольшие системы, с морем кода и различных технологий.
9 марта 2008 в 13:03
+1000.
9 марта 2008 в 13:02
//newstar.rinet.ru/~goga/sicp/sicp.pdf
9 марта 2008 в 12:04
Олимпиадные задачи не угрожающе звучит. Я имел ввиду начать со школьных олимпиадных задач, как я в свое время. Причем начать с архивов 1995-1998 года. Они достаточно легкие… И решать дальше…
Хорошая база задач есть на //dl.gsu.unibel.by/там же можно протестировать задачу на наборе тестов. Есть большое колличество компиляторов.
Может вы слыхали про такого школьника Короткевича Гену… Он в 7 классе и тем не менее победитель крупнейших олимпиад для школьников. Вроде как хотели в книгу рекордов Гинесса записать его. Так он начинал с этого сайта, по-моему.
9 марта 2008 в 11:02
Кстати насчет питона и хорошего стиля оформления недавно Крис Окасаки писал: //okasaki.blogspot.com/2008/02/in-praise-of-man...
9 марта 2008 в 11:00
Я рекомендую начать с питона!
Очень простой, понятный и структурированный язык.
Плюс, сразу прививает хороший стиль оформления кода.
Писать можно на чем угодно и под чем угодно. А начинать с того, на чем сможешь писать, и есть друг-консультант, если что…
9 марта 2008 в 10:01
Еще кстати, наверное, надо учить их самостоятельности – давать побольше индивидуальных задач (чтоб не списывали) с обилием материала, которого не было в лекциях и в помине.
По моему опыту, способность самостоятельно определить, какая информация нужна, и самостоятельно ее найти, применить, оценить и т.п. – это главное, что отличает профессионалов от людей, которые просто выполняют поставленные руководством или преподом задачи. Почти все из моих знакомых, которые это хорошо умеют – профи, почти все, которые не умеют – нет.
Это не значит, что если кого угодно "научить быть самостоятельным", то он тут же станет профессионалом – это, скорее, косвенное свидетельство о наличии потенциала.
9 марта 2008 в 1:04
олимпиадные задачи – звучит угрожающе. это все таки наверно сходу неслабый весьма уровень.
ну а насчет оптимизации и т.д- думаю дла начаинающих программеров главное прикладной аспект, и надо их научить ставить цели и решать поставленные задачи, этоглавное.и подбирать задачи как можно интереснее
9 марта 2008 в 1:03
По-моему можно начать и с Паскаля. Причем начать с алгоритмизации. Решение олимпиадных задач. Очень хорошо было бы, чтобы это было под руководством тренера. После изучения основных алгоритмов можно приступить к изучению языков более низкого уровня. Там уже достаточно выучить синтаксис и концепцию… А алгоритмы уже не составит труда переписать на этот язык.
Олимпиадное программирование вообще очень хорошо оттачивает технику программирование. Только главное оптимальное написание задач, а не быдло-кодинг, когда можно обойтись одной функцией с разными параметрами, а не четырмя без параметров (что увеличивает затраченное время, уменьшает удобство чтения программы, увеличивает шанс допустить ошибку, увеличивает сложность отладки, etc.).
9 марта 2008 в 0:05
Не то что на каком-нибудь еретическом хаскелле или лиспе, или – не приведи господи – J или K
9 марта 2008 в 0:05
так вопрос то был с чего начинать изучать
это все равно как новичку в секции бокса объаснъать как против Тайсона дратса
длъа решениа физических задач и длъа управлениа самописцами и вольметрами красивого кода не надо. бэйсик изначально между прочим давал большие возможности по управлению железом.и вирусы даже на нем убойные писались
а программирование Систем и ПО – это уже совсем другой уровень, многие до него никогда не дойдут и в жизни это им не надо просто
это длъа проФи
9 марта 2008 в 0:05
Начинать изучать программирование лучше с лиспа по SICP, только потом паскаль или си.
Прошу прощения у всех, кто уже видел мои многочисленные похвалы SICP, но я повторюсь еще раз.
SICP – это лучшая книга по программированию из когда-либо написанных – и для начинающих, и для профессионалов. Прочитать ее несколько раз – практически единственный способ стать по-настоящему хорошим программистом.
По ней учат – с первого курса – в Массачусетском универе, знаменитом рекордным количеством нобелевских лауреатов, да и вообще знаменитым как лучший программерский вуз на нашей бренной планете. Сдается мне, это неплохой аргумент в ее пользу.
Заинтересовавшимся лицам с удовольствием пришлю PDFку на русском языке, но лишь под залог того, что эта PDFка не останется лежать у них на винче бренным грузом, а они осилят хотя бы первые 3 главы. Этого уже достаточно для кардинального выбивания императивной дури из головы и наступления просветления Пишите на ekirpichov@gmail.com.
9 марта 2008 в 0:04
Даа, вот уж на асме-то код будет красивый – закачаешься!
9 марта 2008 в 0:02
2Дмитрий БЕОВУЛЬФ Бородин
стоп.я говорю о разработке менее-более крупной программной СИСТЕМЫ, а не программки, шлющей чо-то там в порт.
С указанными системами я имею весьма близкое знакомство:)
Мне, к примеру, их дос-возможности и нафик не нужны…dos rip!
Бейсик, изначально, АКАДЕМИЧЕСКИЙ язык.
Паскаль — тоже.
—————————-
сухой остаток — писать можно, но красивого кода — не будет. Компиляторы — медленные. Вот и всё.
Асм наше всё
9 марта 2008 в 0:00
насчет паскалъа и бэйска – это неверно что они непригодны длъа дальнейшей работы. как правило так говоръат те кто с ними малознаком. возможности , особенно длъа доса, там немалые. и есть большие практические применениъа – не только дла физ. задач, но и длъа управлениъа аппаратурой, сам видел физические установки управлъаемые паскалевскими программами. старье конечно, но все таки нельзъа так заъавлъать что типа они не нужны
8 марта 2008 в 23:05
Давайте без понтов и оскорблений, надоело это уже
Как преподаватель информатики скажу – программирование должно начинатьса с понъатного и практически применимого
не с теории – это подход бездарный и ущербный, отпугнет многих от программированиъа, это годитса длъа взрослых , но не длъа подростков. такие учебники, нужные лишь длъа заработка их бездарным блатным автрорам – смело в жопу
В школе лучше всего давать алгоритмический ъазыкс практическими задачами, чтоб они вообще понимали длъа чего это нужно. есть обучающие программы, где показываетса понъатие алгоритма, есть неплохие учебники, где это очень хорошо иллюстрируетса, и конечно, заставлъать человека делать это на практике
Длъа школьника очень хорош турбобэйсик, многие задачи на нем блестъаще решаютса
Маниъа давать сходу кучу массивов – тоже показатель что человек не понимает как преподавать и вообще длъа чего все нужно. Массивы вводъатса уже после ознакомлениъа с ъазыком и его возможостъами
Длъа студентов подход другой – тут ъа не буду ничего говорить, зависит сильно от целей. одно могу сказать – курс должен давать конкретный результат. нет результата – значит деньги кому то платили зръа
8 марта 2008 в 23:02
обратите внимание, тут уже есть такая тема:
//vkontakte.ru/board.php?act=topic&tid=1121736
8 марта 2008 в 23:02
Евгений Diogen Князев, судя по тому что вы пишете все эти слова вы просто слышали и не представляете что они значат)
qt например ни разу не язык программирования а платформа)
html, css языки разметки, к программированию имеют весьма слабое отношение
delphi среда разработки для языка object pascal. c++ builder аналогично для c++
linux – нормальная ос для программиста вообще жесть. под windows думаете никто программы не пишет? ) или их мало? )
то что языки учатся быстро это вообще весело. как думаете почему большинство работодателей требуют опыт программирования _на_конкретном_языке. изучить непосредственно синтаксис языка конечно просто а вот понять функционирование платформы, тонкости работы библиотечных функций и прочее это процесс весьма долгий.
составление дизайна проекта это вообще не программирование, и занимаются этим не программисты.
поиск в больших объемах данных – пузырек это вообще жесть. знаете что метод пузырька это метод сортировки а никак не поиска.
плюс к тому поиск в больших объемах данных как правило делается с помощью СУБД. писать это самому это изобретать велосипед.
дальше комментировать лень)
8 марта 2008 в 23:01
Я начал сразу с С++, и вполне успешно)) До сих пор с удовольствием им занимаюсь) На мой взгляд, язык очень красивый и логичный)
Хотя нет, самую первую программу мы с другом написали на VBA в Excel, это был бесконечный цикл, прибавлявший 1 к переменной=))) Правда с программированием мы тогда были знакомы очень отдаленно=)
2 Евгений Толмачев: имхо начинать с псевдокода – не лучший вариант. Так можно загубить весь интерес к программированию – ведь в начале больше всего хочется видеть результат) А потом можно и псевдокод писать для более сложных программ.
8 марта 2008 в 23:00
Павел,
>> В чем разница между произведениями Шекспира и сочинением 10-ти классника, по одному из этих произведений.
Дык, если 10-к подошел с чувством юмора и душой, то с удовольствием почитаю
>> нестандартный подход к решению
Когда есть стандартная реализация – это ПОПОМОРЩЕСТВО… Да и по кой черт придумывали всякие парадигмы, от хорошей жизни, значит, следовать им, техническая сторона
>> поиск новых изящных решений
И часто этим занимаешься? )) И в чем искусство?
Вопрос остался открытым. В чем искусство то?
Евгений,
>> Программирование — составление дизайна проекта (не графики, а плана, схемы взаимодействия и пересечения частей проекта), детализация отдельных его частей, поиск решений по оптимизации имеющегося алгоритма, составление новых, высокоэффективных решений.
А в чем тут исскуство… Наловчиться тут не сложно. Следовать уже, наступавшим на грабли, тоже можно… Появляется методология и техника.
>> программер — "полбу" (на сбаллансированных деревья, хешах и т.п. структурах с оптимизацией…)
Изучить это тоже не проблема, и решать "все в лоб", по-вашему…
8 марта 2008 в 22:02
Лучше всего начинать писать на псевдокоде. Самое интересное из написанного потом переведёте на какой-нить язык…
8 марта 2008 в 22:00
Присоединяюсь к "Павел Борзенков".
Кодинг — выполнение готовых алгоритмических решений на языке программирования.
Программирование — составление дизайна проекта (не графики, а плана, схемы взаимодействия и пересечения частей проекта), детализация отдельных его частей, поиск решений по оптимизации имеющегося алгоритма, составление новых, высокоэффективных решений.
Или, скажем, так:кодер решает задачу "влоб" (поиск в больших объемах данных — так прямой перебор, или, в лучшем случае, пузырёк ), программер — "полбу" (на сбаллансированных деревья, хешах и т.п. структурах с оптимизацией…)
8 марта 2008 в 21:05
Для начала, я бы предложил определиться, что именно хочется. Для учёбы начал бы с какого-либо распространенного языка, можно скрипового (типа python). Немножко бы освоился со структурой программы, классами, наследованием, вводом-выводом.
Потом перешел на более фундаментальные языки:С, С++, С#.
Но это в том случае, если кодить на более "простом и понятном" языке понравится.
По поводу паскалей и бейсиков — можно и с них, но для дальнейшей продуктивной работы они фактически не пригодны.
И опять же, определись, в какой сфере программить-то…если железки — то только C да Assembler тебе в помощь.
Для web — HTML, CSS, JavaSсript, PHP, Flash Action Scripts.
Простенькие программки с пользовательским интерфейсом — Delphi, C++ Builder, VB. Потом и до Qt дотянуться можно…
А для 8-го класса (пока не поздно) предложил бы освоить нормальную ОС для программинга — Linux. Там разгул для фантазии — полный. Доки — валом. Так что определяйся.
Да, с играми пока не валом, но имеются в изобилии. Но для них можно и винду подержать (или под эмулятором побегать)…
З.Ы. для примера, я когда беру в проект программера, то меня интересует больше тот факт, что он будет понимать ЧТО писать и КАК писать (процедурность, структура, логика), чем факт того, на КАКОМ языке он писал до сего момента. Языки учатся быстро, а вот умение выражаться средствами языка программирования — это уже профессия.
З.Ы.2 –что-то я увлекся…учи алгебру с геометрией, физику и читай нормальные книжки про компьютеры (не "желтую" околокомпьютерную прессу).
8 марта 2008 в 21:04
2Тимур Багаутдинов
Это примерно как спросить:
В чем разница между произведениями Шекспира и сочинением 10-ти классника, по одному из этих произведений.
Программирование – исскуство, поиск новых изящных решений, нестандартный подход к решению и т.д.
Кодирование – реализация на каком-либо языке готовых алгоритмов с минимальной затратой умственных усилий.
Все вышесказанное – мое ИМХО.
8 марта 2008 в 21:03
Павел, а что конкретно вы подразумеваете под программированием? Я считаю, что программирование – это техника, ничего больше. И до сих пор не доходит, что же такое программирование, а что же такое кодинг.
Равиль, учи действительно, хоть казахский. Главное чтобы сам процесс нравился, да и реализовывались все задумки, пусть с кряхтением ))
8 марта 2008 в 21:02
pascal весьма удобен для обучения.
8 марта 2008 в 20:05
Тут яс вами соласен.. Полностью..
8 марта 2008 в 20:04
А что вы хотели? Программировать (именно программировать, а не заниматься кодингом) – это не так просто как кажется. И знать для этого надо очень много. И без способностей в математике далеко не уедешь. Можно знать бесчисленное множество языков, но не уметь составить даже простейшего алгоритма или оценить сложность уже существующего. В таком случае – грош цена такому "программисту".
8 марта 2008 в 20:03
братан лучше с казахского начинай)
8 марта 2008 в 20:03
Начинать изучение программирования нужно с теоретической базы:
матанализ, дискретная математика, теория алгоритмов, основные алгоритмы поиска, сортировки и т.д., абстрактные типы данных. Список можно долго продолжать. А язык – только инструмент и выбирается под конкретную задачу. При этом не мешает посмотреть/попробовать языки разных парадигм программирования: структурной, объектно-ориентированной, функциональной, декларативной, для того чтобы знать сильные и слабые стороны конкретного подхода.
8 марта 2008 в 20:03
Вы издеваетесь??
мат анализ и дскретная математика в 8 классе??