LINUX.ORG.RU

Прошу помощи с определением

 , , ,


0

5

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

Итак, вот первый вопрос. Без пристрастий и без холивара, но на какой системе стоит начинать обучаться? Одинаково уютно чувствую себя как на GNU/Linux, так и на оффтопике. Где это делать правильнее и удобнее?

И второй вопрос. Я понимаю, что каждый язык для отдельной цели, что программист должен знать далеко не один язык. Но с чего начать? Сейчас 3 фаворита: c++, java, python. Я больше склоняюсь к сишке, как языку с большим потенциалом и большего порога вхождения.

Ну и заодно ко второму вопросу спрошу - каким ide вы пользуетесь и почему именно им?

Если кто сам когда-то так начинал - очень надеюсь на ваши объективные советы.

Ответ на: комментарий от I-Love-Microsoft

Ну, к примеру, мне нужна задача, с которой может справиться один язык запросто, но, написав на другом языке, я получу прирост в скорости и стабильности. Разве не так должно все работать? Каждому языку свое применение. Поэтому я планирую изучить как можно больше. Вопрос в том, с чего начать, дабы потом не так сложно было.

KrasnoGlazik
() автор топика
Ответ на: комментарий от Eva

Если что-то можно складывать и умножать, и при этом есть дистрибутивность и все дела, то это что-то определённо можно считать числами.

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

NuGet is the package manager for .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package authors and consumers. 95,766 unique packages

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

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

Почему нельзя? Вполне себе можно. Но в курсе который я упоминал выше в основном паскаль используется как иллюстрация принципов типа, что такое массив, указатель и тд. С C сложнее это всё понять так как слишком много тонкостей даже в простейшей программе типа Hello world.

Если же английский знаешь, а для программиста это совершенно небходимо, то бери SICP. Русский перевод есть, но я начал читать и не выдержал — сплошные кальки с английского.

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

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

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

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

Можно, я уточню, вы это о чём? Что будет не так?

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

Ему просто посоны сраёна нашептали, что нужно сразу изучать «крутой языг, от которого сразу мамкиным какером станешь» и код сразу будет мягкий и шелковистый

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

С C сложнее это всё понять так как слишком много тонкостей даже в простейшей программе типа Hello world.

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

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

Успели поднять свой ЧСВ? Ваше присутствие в теме излишне по причине отсутствия полезной информации.

KrasnoGlazik
() автор топика
Ответ на: комментарий от Eva

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

Вот здесь https://www.nuget.org/packages?q=sdl, например, должен быть один актуальный SDL2 2.0.7, вот здесь: https://www.nuget.org/packages?q=openscenegraph весьма известная штука https://repology.org/metapackage/openscenegraph/versions и т.д.

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

Решения на паскале примитивны.

Не верьте тому, кто вам это сказал. Алгоритмы разве зависят от разных ЯП, если они реализованы в рамках одной парадигмы?

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

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

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

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

Это язык изначально создан для обучения программированию. В этой области он ещё не потерял актуальности.

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

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

И чего я тебе должна сказать, что в отличие от линукса, люди, которые профессионально программируют для виндовс, библиотеки покупают? Я не знаю, но думаю, что все детские болезни и симптомы опенсорс решений там давным-давно преодолены. 98% софта пишут именно для виндовс, 2% для эппл.

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

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

Для чего тебе в перспективе может пригодится умение ездить на 3 колесном велосипеде?

Не для чего, взрослые дяди не ездят на 3 колесных велосипедах.

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

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

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

KrasnoGlazik
() автор топика
Ответ на: комментарий от slovazap

Я тебе показала репозитарий, используемый в виндовс, что все почти 100 тыс. пакетов гавно? Раскопал какую-то мелочь и на ее основе сделал вывод? В конце концов кто мешает клонировать с гитхаба, все нормальные проекты без проблем собираются студией, а те которые не собираются и нафиг не нужны.

Eva
()

Плюсую Столярова и SICP, лучше параллельно. По поводу языка --- самый фичастый динамически типизированный язык это Common Lisp, статически типизированный --- Haskell. Я не знаю Haskell, но после Common Lisp изучение других языков обычно сводится к чтению мануала на предмет особенностей синтаксиса и ущербности реализации различных подсистем языка, к примеру, исключений.

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

все нормальные проекты без проблем собираются

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

студией

Ага, это той-то у которой компилятор в C++ до сих пор не умеет?

а те которые не собираются и нафиг не нужны

О, ещё и юношеский максимализм. Серьёзно, не позорься.

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

Ага, это той-то у которой компилятор в C++ до сих пор не умеет?

Чего он не умеет?

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

самый фичастый динамически типизированный язык это Common Lisp

С крайне убогим набором библиотек, в 21 веке не нужен.

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

Сразу видно человека не имевшего опыта реальной разработки, или хотя бы сборки проекта с 10+ внешних зависимостей

Включил «сперва добейся»?

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

Расскажите мне каких библиотек лично вам не хватает. Хочу заметить, что через CFFI можно легко подключать библиотеки на C. Их тоже не хватает?

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

В первую очередь для написания кросплатформенного gui и работы с последовательностями неизменяемыми и бесконечными. Нет возможности работы с компортом.

легко подключать библиотеки на C

вся надежность сразу нафик

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

Ну а такие библиотеки где-то есть? Чтоб кроссплатформенный gui, бесконечные последовательности, компорт, да ещё и надёжные при этом?

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

Ну ладно. Для кроссплатформенного gui в CL есть биндинги к gtk; для бесконечных последовательностей может подойти series; компорт, я думаю, проще написать на коленке чем разбираться с чужой библиотекой.

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

Jini ★★
()

Gentoo + C + geany.

Из средств сборки — либо самописный Makefile (для элементарщины), либо cmake. Автотулзы терпеть не могу — жирные и тормозные.

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

Главное — не начинай с пхытона, иначе мозг будет безвозвратно поврежден.

Либо С, либо С++. Только учти, что это абсолютно разные языки с совершенно разными подходами. Я, например, не осилил С++, а мой мозг просто не способен постичь ООПщину.

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

cl-gtk2 seems to be latest and active as of Sept 2009

lambda-gtk GTK objects are just untyped alien pointers (the Lisp incarnation of C's void*)

lgtk is lispish enough, but incomplete

достаточно иметь прямые руки

C подразумевает ручное управление памятью и про безопастность можно забыть с любыми руками. лисп в рантайме с сишными либами - это лютый ад.

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

лол. очередное «ыкспертное» мнение очередного «пограмиста»

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

На нем нельзя сделать что-нибудь более-менее ценное.
Язык устарел, если бы не школы, давно бы и помер.

Что значит, нельзя? Ну вон Double Commander на нём. Да вообще-то дофига всего.

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

Калька тоже подойдет. Преимуществ море: во-первых, нет всякой дряни вроде systemd; во-вторых, у тебя уже автоматом есть компиляторы, заголовочные файлы библиотек и т.п. (это не бубунта, где нужно ставить не только библиотеку, но и т.н. dev-пакеты); в-третьих, у тебя всегда будут свежие версии библиотек.

anonymous
()

Некоторые считают ( Croco), что начинать надо с паскаля и терминала.

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

Да шо ты говоришь! Свежее будет только напрямую с гита таскать!

Всяко бубунты-дебилианы тормознее в этом плане. А уж в плане кастомизируемости и вообще удобства — полный отстой.

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