LINUX.ORG.RU

Помогите выбрать язык программирования


0

3

Создаю тему не для холиваров, а просто потому что замучили муки совести выбора. Ситуация такая. Я не программист, учусь не на программиста. Но изучать новое мне интересно. Когда учился в школе, писал всякую фигню на Паскале, чисто just for fun (информатики в школе как таковой не было). На протяжении последних двух лет писал (и ещё пишу) примитивные программки на Object Pascal (Lazarus под Linux и Delphi 7 под оффтопик). Делал это не из любви к разновидностям Паскаля, а просто из-за учебного плана, ничего значительного на OP не написал. Остальных языков пока не знаю, но хочется чему-то новому и полезному поучиться.

Вопрос такой: какой язык программирования посоветуете изучать, учитывая, что я имею лишь скромные познания в Object Pascal'e? Изучать буду самостоятельно и чисто для себя, грандиозных планов нет. Предполагаемые сферы применения языка - сначала изучение основ и составление консольных программок, потом написание простых GUI-утилит (всяких небольших велосипедов), и наконец работа с небольшими базами данных (задачи вроде каталогизации домашней библиотеки и фонотеки).

Никаких особых предпочтений не имею, только было бы неплохо, если: а) у языка не очень сложный синтаксис; б) существуют книги для начинающих по этому ЯП на русском языке. Хотелось бы сначала разобраться в общем и целом, а только потом лезть в детали и читать англоязычную литературу.

Спасибо за дельные советы.

★★

Последнее исправление: LexArt (всего исправлений: 1)
Ответ на: комментарий от aho

а чего не xforms? или xaw?

Тогда уж лучше черепашку, как раз для ТС.

baverman ★★★
()
Ответ на: комментарий от chinarulezzz

Сей код не то чтобы запускать, компилировать страшно! :D

backbone ★★★★★
()
Ответ на: комментарий от Eddy_Em

ах, это.
нострификация?

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

x4DA ★★★★★
()

В 50 % случаев хватает C, в 10 % можно использовать его расширения для удобства и в 40 % случаев всё уже написано до вас - достаточно только поискать.

Nebuchadnezzar ★★★★
()
Ответ на: комментарий от Eddy_Em

Вообще-то, phd - чуть хуже нашего коньдидата.

Ну разве что коньдидата, да ещё и вашего...

mv ★★★★★
()
Ответ на: комментарий от Nebuchadnezzar

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

LexArt ★★
() автор топика

Основы учить и писать потом продакшн код хорошо подходят С++, Java, C#. Первый чуть уступает остальным в том, что при переходе к графическим приложениям, ну и в принципе более сложным приложениям вы продолжаете делать телодвижения, которые вообщем-то в 21 веке не особо необходимы в 99% задач.

Писать простенькие приложения для себя лучше на скриптовых языках. Хорошие для этого Python и Ruby.

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

Относительно ФП (полностью или частично) языков (Lisp, Haskell, Scheme), то они не нужны начинающим. Некоторые концепции, которые все-таки нужны есть и так в том же Python и Ruby и изучаются с комфортом без боли от того, что вы боретесь с самим ЯП. Когда вам станет банально скучно в императивном мире, то для развлечения можно поиграться и в ФП.

vertexua ★★★★★
()
Ответ на: комментарий от LexArt

Если совсем для души, то можно и Perl. «Изучаем Perl» так легко и весело написана, что так и хочется его выучить.

Nebuchadnezzar ★★★★
()

Начинай с The Haskell School of Expression, The Haskell Road to Logic, Maths and Programming, дальше читай Typeclassopedia (http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf), дальше статьи по ссылкам в тайпклассопедии, викикнигу (http://en.wikibooks.org/wiki/Haskell), а точнее отдельные главы. Ну и вики на haskell.org. Некоторые няшечки могут посоветовать Душкина (беги от этой книги, как от чумы), Грема Хаттона или «Изучи себе хаскель во имя великой справедливости» - не слушай их, только напрасно потратишь время. Ну а после изучения нормального языка программирования уже сам решишь, нужно ли тебе это самое программирование.

anonymous
()
Ответ на: комментарий от vertexua

Кто? Хаскеллисты? Не знаю... Но еще выше я посоветовал все-таки Qt С++, а не Haskell. Только не угодил товарищу «не троллю».

GraninAS
()

Ну а чем плох Паскаль? Продолжай его изучать. Можешь попробовать на Аду перейти, после Паскаля самое то.

anonymous
()

Конечно С. Небольшие консольные утилитки и хорошие базовые знания. Тут тебе и несложный синтаксис и масса литературы. Далее советую выучить С++/Java/C#, хотя знаний С вполне может хватить.

son_of_a_gun
()
Ответ на: комментарий от Macil

Ну ты насоветуешь. А если его кто англоязычный спросит, чем ты мол занимаешься, а он и ответит - «I've been playing with Coq all night». Что про человека подумают?!?

anonymous
()
Ответ на: комментарий от oami

> Сначала - C по Кернигану и Ричи.

Потом можно либо Python, либо Ruby.

+inf

LamerOk ★★★★★
()
Ответ на: комментарий от mashina

> K&R всё таки сильно устарел. С с тех пор много стандартов сменил и так (т.е. по книге) уже просто не пишут.

Не болтай ерундой. Он «сменил» ровно один стандарт - С99, который полностью включает в себя предыдущий, которому в свою очередь полностью соответствует второе издание K&R.

LamerOk ★★★★★
()

Scheme и SICP.

anonymous
()
Ответ на: комментарий от mv

> Ph.D (philosofphy doctor) - это у них что-то среднее между нашим кандидатом и доктором. К науке философии отношения никакого не имеет.

Это нечто среднее между нашим ПТУшником и выпускником техникума. Ни к какой вообще науке отношения не имеет, даже к философии.

anonymous
()
Ответ на: комментарий от anonymous

1 (один) диванный кукаретик защщитан.

anonymous
()
Ответ на: комментарий от anonymous

ну вот то самое и подумают :))

LexArt ★★
() автор топика
Ответ на: комментарий от anonymous

Это нечто среднее между нашим ПТУшником и выпускником техникума. Ни к какой вообще науке отношения не имеет, даже к философии.

Это у которого в школе было 3 обязательных предмета: физкультура, ОБЖ и патриотическое воспитание? Боюсь, в этом отношении Россия даже школьное образование в США переплюнула.

mv ★★★★★
()
Ответ на: комментарий от artem

Потому что знать С - Ъ в нашем мире. Я вот, например, на работе столкнулся с тем, что нужно было писать код под микроконтроллеры, а там только С. Вот тебе и пельменный катер.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Черт, что я несу... В общем, про катер не читай =)

Zhbert ★★★★★
()
Ответ на: комментарий от anonymous

Без замыкания лексического контекста твои указатели на функцию бесполезны чуть менее, чем полностью. Да и синтаксически разыменование указателя - то ещё дерьмецо.

бла бла бла... мгимо финишд?

mashina ★★★★★
()
Ответ на: комментарий от Zhbert

>Но С++ надстройка с классами над С.

настройка с классами над C - это Objective C, а С++ - это «ехал шаблон через шаблон» и структуры на стероидах

lazyklimm ★★★★★
()
Ответ на: комментарий от Reset

Настоящий Ъ должен знать ассемблер PDP-11 (и должен был успеть наиграться с ассемблером раз и навсегда еще когда он был актуален), а x86 знать совершенно не обязательно, он грязный и глупый.

anonymous
()
Ответ на: комментарий от Reset

Из-за того, что не знаю лиспа? Так он не нужен, че его учить-то?

Хотя тут спорный вопрос. Когда-то давно я «учил», еще во времена учебы, лисп, который юзается в акаде (да да, там тоже можно писать скрипты, если кто не знал). И всегда считал, что лисп - тупо язык для акада.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

> И всегда считал, что лисп - тупо язык для акада.

Ну так кто ж тебе доктор, если ты такой глупый.

anonymous
()
Ответ на: комментарий от mashina

> бла бла бла... мгимо финишд?

Во, издалека интеллектуала видно. Возражает по существу и аргументированно, не мгимошник какой-нибудь.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.