LINUX.ORG.RU

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


2

1

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

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

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

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

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

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

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

Во всех лиспосрачах об этом говорят. ITA Software самая модная «икона».

Где?

На ЛОРе, LOL.

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

Бывало по разному. Тут есть профиль, там ссылка на блог, легко сами поймёте.

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

Странно, но мне не приходится лезть в гугл, чтобы вспомнить о linux, apache, nginx, postgresql, mysql, redis, memcached, mongodb, или там eve online. Перечислять замучаешься. За что ни возьмись - нет лиспа и близко. Разве что emacs и autocad. Но там он и используется в том качестве, котором я упоминал - конфигурация/скриптование и пр. такое.

Так где хоть какие-то основания считать лисп пригодным на практике?

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

Так где хоть какие-то основания считать лисп пригодным
на практике?

LOL, какая связь между пригодностью использования для практики и популярностью?

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

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

Так зачем тогда советовать человеку идти по этому пути?.. Не понимаю.

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

Жаль, что вы не понимаете. Попытаюсь объяснить.

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

Во-вторых, без популярности у вас нет сообщества, нормальных открытых проектов, полноценных живых библиотек, развития языка, новых падаванов(возможно поэтому вы так яростно вербуете юнлингов) и интереса со стороны новых проектов.

В-третьих

Практика (др.-греч. πράξις «деятельность») — целесообразная и целенаправленная деятельность. Практика — это деятельность, которую субъект осуществляет для достижения определённой, заранее поставленной цели.

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

Я могу продолжать дальше, но стоит ли?

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

Во-первых, отсутствие популярности свидетельствует о ненужности.

/0

Во-вторых, без популярности у вас нет сообщества, нормальных открытых проектов, полноценных живых библиотек,

/0

Я могу продолжать дальше, но стоит ли?

видимо, не стоит.

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

Во-первых, отсутствие популярности свидетельствует о ненужности.

LOL Продолжать ваши измышления не стоит.

Но небольшой пример. Вот есть замечательный WM - ion3 (ныне notion). Вряд ли вы о нём слышали. А если провести здесь голосование, то большинство скажем, что не нужен. Но это не мешает ему быть одним из наиболее удобных WM (на текущий момент).

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

Популя́рность (от лат. populares, от populus — народ) — высокая степень востребованности чего-либо или кого-либо в определенной области жизни человека.

Соответственно, из отсутствия популярность следует низкая степень востребованности, из чего уже следует ненужность.

По поводу сообщества, открытых проектов и библиотек - это просто факты. Которые, видимо, Вам слишком неприятны.

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

Соответственно, из отсутствия популярность следует низкая
степень востребованности, из чего уже следует ненужность.

Вам бы какую-нибудь книгу по логике прочитать, что ли.

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

Я смотрю аргументация у вас так изливается как из рога изобилия. /0, LOL и т.п. И не слова по делу. Видимо, мне часто придется цитировать словарики и энциклопедии. Впрочем, они тоже могут казаться Вам смешными.

ion3 (ныне notion)

Но и он почему-то не на лиспе написан. Вот ведь незадача.

Но это не мешает ему быть одним из наиболее удобных...

Весьма субъективное понятие.

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

О, еще один «аргумент». Браво.

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

Если популярность, это высокая степень востребованности, то отсутствие популярность - низкая степень востребованности. Логично?

Далее:

Востребованный - необходимый, нужный

Невостребованность, соответственно означает ненужность или низкую необходимость. Логично?

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

Но и он почему-то не на лиспе написан. Вот ведь незадача.

При чём тут лисп? На всякий случай, из подобных WM на лиспе написан StumpWM.

Если популярность, это высокая степень востребованности, то
отсутствие популярность - низкая степень востребованности.

Отлично, как низкая степень востребованности коррелирует с ненужностью?

растолкуйте мне, в чем моя ошибка.

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

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

как низкая степень востребованности коррелирует с ненужностью?

Я же пояснил:

Востребованный - необходимый, нужный

востребованность сущ., кол-во синонимов: (1) • ↑нужность

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

востребованность сущ., кол-во синонимов: (1) • ↑нужность

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

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

Я так понимаю значение слова Вы процитировать не решились?

Ладно, спорить с такими как Вы бесполезно, религия вам глаза затмевает настолько, что вы готовы спорить с очевидным. Потому я просто скажу, что лисп «не востребован», раз вам так не нравится «ненужен». С этим-то вы спорить не будете?

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

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

Мы ни о чём не спорили, я лишь указывал на то, что ваши размышления основаны на подмене понятий. Ignoratio elenchi.

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

К тому, что лисперы неадекватно реагируют на чужое мнение и на сложившуюся ситуацию в отрасли.

anonymous
()

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

nio-kun
()

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

Это очень хорошо. Буду банален... почитай Кнута :)

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

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

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

// Последние 6 лет пишу в основном на C++.

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

Соответственно, из отсутствия популярность следует низкая степень востребованности, из чего уже следует ненужность.

По такой логике линукс не должен существовать вообще. И много чего еще востребованного.

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

Ну с этим согласен(хотя для второго лучше питон подходит).

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

anonymous
()

C C C C C C !!!!!

FORTAN! FORTAN! FORTAN! FORTAN!

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

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

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

Я бы посоветовал D http://dlang.ru

С++ слишком монструозен С пора на свалку Ruby тормозит Python не годится для больших проектов

Почитайте dlang.org и поймете все преимущества языка.

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

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

Ждем rust'а теперь...

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

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

добавлю: в качестве вводной, можно брать школьную сборку Blackbox

Обероны долгое время были некоторой «вещью в себе»: была основная реализация Blackbox Component Pascal, платная со странной лицензией (что касается её коммерческого и некоммерческого использования, производных работ). Сейчас BBCP доступен с открытыми исходниками, лицензия гораздо более разумная, в общем, стараются навёрстывать упущенное.

Как результат, появилось множество различных «сборок» : в том числе, сборки BlackBox под Линукс и более «профессианальная» красноярская сборка.

Есть сообщество, проекты, в том числе появляются компоненты под Blackbox.

Кроме того, не блекбоксом единым (хотя начать с него — неплохо).

Есть ещё пара-тройка оберонов, активно развиваемых за последние 2-3 года. См. форум на oberoncore и на zx.oberon2.ru , а также сайт1 сайт2 сайт3

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

Эти принципы пригодятся и в других языках и средах, например, .NET и Java.

И да, если например изучать паскаль, можно взять PascalABC.NET.

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

С пора на свалку

конечно, а системные приложения писать на баше. Короче, таким икспертам пора в отстойник.

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

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

язык гибкий, динамический = элементы этапов управления жизненным циклом чего-нибудь более монолитного (как пример, den73 и его тулза по управлению схемой БД, хранимыми процедурами в Firebird и т.п.)

семантический веб, базы знаний, rule engine = внезапно, и в AllegroCL и в LispWorks есть приличные хранилища RDF и ООБД. вот какой-нибудь GNOWSYS вполне мог бы быть построен не на Python/Zope а на лисп-технологиях. В итоге имеем literate programming, reproducible research среду в емаксе в org-mode babel, семантическую вики в GNOWSYS с редактированием в емаксе в org-mode (см. gnowsys-mode — расширение org-mode со странички с публикациями), хранилище в GNOWSYS/чём-то-ещё плюс всякие навороты, которые можно изобразить поверх семантической вики (движок для бизнес-процессов, groupware, интеллектуальные системы, самообучающиеся интеллектуальные агенты, базы знаний, экспертные системы, системы автоматизированного проектирования с базами знаний и т.п.)

прототипирование = Web: Yahoo store,reddit, PostgreSQL ранний и т.п. были первоначально написаны на Lisp, затем стартап продан и переписаны на что-то более мейнстримовое. То есть, идея написать киллер-приложение на лиспе (быстро и удобно), нащупать правильную архитектуру, продать стартап с рабочей моделью-прототипом на лиспе (и при необходимости, оптимизировать модель, переписать на более мейнстримовых и понятных языках и т.п.)

внезапно, игрушки = довольно много поделок типа game in a day, game in a week за день/неделю/месяц на лиспе и питоне. можно совмещать с предыдущими пунктами.

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

конечно, а системные приложения писать на баше

<lol-mode> Можно и на баше. Берешь ССsh из того же места, где и Comeau C++ компилятор, транслируешь в Сишечку и дописываешь, чего не хватает. Сразу нищеброды отпадают — у них нету денежек на CCsh, да :) </lol-mode>

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

А почему, собственно, си «не пора на свалку»?

Любая более-менее функциональная программа на си пытается реализовывать свою объектную систему, работу со строками, с памятью, с исключениями. В итоге превращается в «свалку фич», как это видим на примере С++.

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

Те же scope в D, __trait, ограничения сигнатуры функции (правильные концепты), правильные CTFE шаблоны, ranges, модули, слайсы — вполне себе достижение D.

Или, panic/recover, ad-hoc интерфейсы, модули, слайсы, каналы, с натяжкой goroutines  — вполне себе достижение Go.

Если переписать например код библиотек типа zlib cо множеством лишних телодвижений на тот же D со scope и ranges, или на Go с каналами и горутинами и ad-hoc интерфейсами — код станет более понятным, легче поддерживаемым, и сопровождаемым.

При этом код ничуть не станет «менее системным».

Plan9 например, ничуть не менее системен чем сложившийся юникс-си мейнстрим. Вот тут-то и пригодятся мозги, повёрнутые по новому, не в сложившейся колее няшной сишечки.

Другое дело, что Си — это «не платишь за то, что не используешь» в самом чистом виде, а тут всё-таки есть рантайм, сборщик мусора и т.п.

Но и на это есть ответ в виде альтернативных рантаймов, и они начинают появляться (пока правда в каждом таком проекте — своя версия).

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

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

примеры кривизны?

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

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

в качестве скриптовых, нет такой проблемы: 1 2 scsh

можно и гулю использовать.

из последнего, что запомнилось в Guile: Guix, функциональный пакетный менеджер (интро) поверх Nix , в котором рецепты в отличие от своего языка в NixOS можно писать на обычной схеме

как бы очевидно, что и «рецепты на схеме» можно полуавтоматически, с тестированием и допиливанием генерировать из чего-то другого, например, ебилды конвертировать или сборку mingw приложений кросскомпилируемых замутить.

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

Ненене, она толстая. Берём пурбасик или оберс, и все девки наши будут.

anonymous
()

У тебя есть два варианта:

1)Изобрести свой путь становления программиста и потом ВОЗМОЖНО пожалеть об упущенном на начльном этапе времени которое уже не компенсируешь

2)Пройти по протореной дорожке. Берешь фрипаскаль, хорошую книгу по алгоритмам, и изучаешь алгоритмизацию и структурное программирование, рантайм паскаля даже и не трогай, из него понадобится только ввод-вывод. Поступаешь в институт и изучаешь Си, опять в ключе алгоритмизации чтобы понять как происходит работа с памятью. После чего выбираешь себе прикладную область и используешь там ЛЮБОЙ язык который тебе понравится.

Паскаль... что будет пустой тратой времени и хорошему ничему я на них не научусь

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

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

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

В квотезы - оказывается, без паскаля и института изучить C ну никак нельзя. Феерический идиотизм.

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

В квотезы - оказывается, без паскаля и института изучить C ну никак нельзя. Феерический идиотизм.

1) ты лжешь что я это написал, срочно исправляй свой парсер

2) я выскзал свое мнение, пойми уж наконец-то что оно не должно совпадать с твоим

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

4) твое высказывание чистой воды вброс коему место в толксах, к теме оно не имеет никакого отношения

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

ты лжешь

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

Учимся читать.

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

Учимся читать.

Ну и? Где тут написано что другого пути быть не может?

Следующее замечание будет про грамматика или пунктуацию? По существу сказать нечего но всерано зудит?

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

Неспособность гуру паскаля прикрутить spellchecker говорит сама за себя. Видимо, зацикленность на недоязыках дает о себе знать :-)

Где тут написано что другого пути быть не может?

В твоих репликах только пропоганда подыхающих недоязыков. Или я что-то пропустил?

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

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

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

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

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

Но назвать Си подыхающим это сильно.

Мечты такие мечты.

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

вспоминание его 100500 раз иначе назвать не могу.

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

special for you: assembler&C для начала, webdev, который интересует ТС - python/perl, php, lisp достоин отдельного внимания.

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