LINUX.ORG.RU

Какой ЯП выбрать?


2

1

Всем привет. Вопрос этот поднимался 100500 раз в интернетах, но я опять задам его. Мне 15 лет, дружу с математикой (и очень люблю её), но вот ответ на свой вопрос я так и не нашёл. Больше мне нравятся скриптовые языки (по синтаксису и «смыслу») и хочется заниматься вебом (серверная, а не клиентская часть). До этого я не программировал и сказали, что PHP/Ruby/Perl как первый ЯП не подходят, а вот Python подходит отлично. Правда ли это? И какую лит-ру по Python 2.x подскажите (говорят Python 3.x для веба совсем не подходит).

Но! Прежде чем заняться вебом, я хотел бы вообще выучить алгоритмы и т.д, т.к хочу стать программистом, а не тупым кодером. Так что книги заточенные под веб (если брать книги по Python), а надо «общую» книгу, где объясняются азы и самого ЯП, и программирования в общем.

Паскаль/Делфи/Бэйсик сказали, что будет пустой тратой времени и хорошему ничему я на них не научусь (да и сам как то устаревший паскаль/бейсик и бесполезный (для меня и моего направления) делфи учить не хочется).

Всем заранее спасибо!

Перемещено maxcom из general

Ответ на: комментарий от qulinxao

Какое? ООП придумали задолго до него. Smalltalk же - кошмарное убожество. Хотя из их сообщества некоторые интересные идеи пришли в нормальный мир.

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

имя? Дал? Найгард? может Платон?

укажи источник из которого черпал Кей. что бы мы все могли черпанут без кеевых примесей.

или небыло.

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

Я не знаю, откуда он конкретно и что брал. Но ООП было до него, как минимум в симуле, от которой идут почти все ООП языки. А смолтолк на отрасль практически никакого влияния не оказал, за иключением паттернов, вроде MVC, которые пришли оттуда.

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

как можно утверждать во лжи Кея «когда я придумал ООП я подразумевал нечто иное чем С++» и не иметь аргумента в обосновании , что Кей в цитате лжёт?

qulinxao ★★☆
()

Мне 15 лет, дружу с математикой

До этого я не программировал

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

no-such-file ★★★★★
()

Если в 15 лет любишь скриптовые языки и математику, то матлаб однозначно!

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

Или Octave, если хочется бесплатного сыра.

anonymous
()

Попробуй C#, когда-то начал с него, так на нем и остался.

Т.к. еще учишься в школе, то для старта могу посоветовать книгу М. Дрейера «C# для школьников».

Nedis
()

Учиться лучше на типизированном языке. Лучше всего подходят Pascal и C. Много примеров на этих языках, легко ответы на вопросы найдёшь, даже не задавая их на форуме.

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

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

Рекомендую начать с консольных программ, не заморачиваясь с GUI. Но если очень хочется кнопочек, окошек и пр., ставь Lazarus например (для паскаля).

PS если интерес не пропадёт, можешь начинать зачитываться литературой посерьёзнее. А на первых порах лучше «детские» программы, чтобы не отбить интерес. И обязательно включи в изучение asm, не обязательно на нём ОС писать, но даже пара простых программ углубит знания о том, как это всё работает.

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

И забудь об ООП и прочем. На первых порах это не нужно.

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

Строки, числа, массивы, указатели (последнее на первых парах не нужно тоже пожалуй). Что ещё от жизни нужно?

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

серьёзно?

Питон - хоть он не во всём ортогонален но наличие очередей/стеков/наборов/словарей/неограниченной_арифметики_целых/ из коробки несколько уменьшает необходимость ручного заката солнца.

тем более , что ни в паскале ни в с нет замыканий - которые полезно знать , что существуют.

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

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

Не нужно начинать со всего готового, тех же «Hello, world!», квадратных уравнений тьма готовых, может ему их не писать и взять готовое? И так при каждой задаче, не учится, а брать готовое. Тогда где же тут учение?

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

вопрос вот в чём нужно ли писать самому(обучаемому) библиотеку которой пользоватся или пользоватся(обучатся) готовой или ни писать и ни пользоватся

в случае паскаля/с такой готовой библиотекой(или наличием уже встроенного в язык) являются строки и массивы.

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

если же чисто научатся алгоритмики то питон вполне приемлимый компромис.

ps. а типы в паскале и сях текут.

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

Думаю питон течёт хлеще, ибо нет контроля низкоуровнего за сим. Да и о каких компиляторах паскали и си мы говорим? Ещё есть интерпретаторы обоих. Сам язык течь не может :) Да и всё по большей части зависит от рук, при не использовании динамических переменных вряд ли возможно. Я течек не наблюдал в дельфях в своё время, да и во freepascal тоже.

Да и то, даже если предположить, что течёт какая-либо из реализация, как это может помешать обучению?

Думаю каждый программист должен «пощупать» компилятор.

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

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

В питоне метод объекта тоже объект. А в руби, как раз, нет. Можно получить объект-представление метода, но сам метод объектом не является.

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

Нельзя учиться программированию в 15 лет. Подожди до вуза хотя бы.

Да можно, в принципе. Я в 13-15 пробовал МК-61, вполне себе хорошее начало

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

Хороший программист должен знать не менее 5 языков программирования

Visual Basic, Delphi, 1C, PHP, Agda.

Набор быдлокодера.

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

А ты не знал, нынче все быдлокодеры на агдЕ херачат. Мода такая. Скоро агдА совсем VB6 вытеснит.

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

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

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

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

anonymous
()

Бери pure C(начни с книжки K&R), можешь сразу и алгоритмы учить. Потом поиграйся с лиспом(читая SICP), но смотри осторожно - на практике он бесполезен, адептов не слушай и не примыкай к ним.

Если достигнешь понимания сишечки, лиспа и прокачаешь скилы по алгоритмам, то все остальное будешь осваивать быстро. Тут я бы тебе предложил что-нить практичное, вроде Питона, С++ и C#. И ты уже должен работать программистом.

Следующим этапом, на мой взгляд, должны быть Scala, F#, Haskell, Erlang. Даже если ты не будешь использовать именно их в работе, скилы это твои поднимет.

Ну а потом уже сам будешь знать, куда идти...

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

Потом поиграйся с лиспом(читая SICP), но смотри осторожно - на практике он бесполезен, адептов не слушай и не примыкай к ним.

Покатайся на «бнв», но себе не покупай. Да, «бнв» - клёвая машина, но ты должен ездить на кредитной мазде3 или форде-фокусе, как все. Понимаешь, должен. И не вздумай выёживаться, а то мы тебе машину во дворе ключём всё исцарапаем, чтобы доказать превосходство нормальных, человеческих машин.

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

Не переживай так, это просто мой совет. Ты можешь дать свой.

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

Плохое сравнение, ИМХО. Лисп действительно практически бесполезен в реальных проектах. А вот при обучении он полезен тем, что на нем хорошо иллюстрируются некоторые концепции. Думаю это и имелось в виду. Тот же SICP возьми.

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

Мне в списке только С++ не нравится. Хотя с точки зрения, например, поиска работы, сишнику лучше кресты таки знать.

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

Аргументировано.

Может у вас примеры есть хорошие?

Вот лично я его пару раз только использовал. В качестве языка конфигурации системы. Возможно моего опыта не хватает. Но почему-то на лиспе ничего путного не написано...

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

Ты может и проекты годные на лиспе знаешь?

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

Может у вас примеры есть хорошие?

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

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

Примеров хватает

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

но здесь о них постоянно говорят

Где?

Для меня достаточно, что я его практически использую.

Вы один работаете? В каком качестве используете?

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