LINUX.ORG.RU

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


2

1

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

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

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

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

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

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

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

какие примеры тебе нужны? есть широко известные, неоднократно приводились в тредах.

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

сразу говорю, тогда все примеры типа «вот тут есть батарейки», а «вот тут нет» — не годятся, потому что «это лучше» будет не раскрыто таким примером.

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

У нас есть определение популярности, как высокой степени востребованности.

лисп очень и популярен, в высокой степени востребован среди лисперов, да :))

потому что лисп это метавирус — единожды попробовавший лисп пристращается к нему и пытается его применять во всех своих лисперских проектах

лисп как и GPL вирусен, только лисп гораздо более вирусен чем GPL — он МЕТАвирусен.

МЕТАвирус лиспа это вирус который заражает вирус который заражает /b/

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

man Нил Стивенсон «Snowcrash» намшуб Энки, ме царя-жреца Хаммурапи, переданные им Мардуком, сыном Энки и вавилонское столпотворение

anonymous
()

Вообще, программист — это обслуживающая профессия. Так было в 60-ых, так было в 70-ых, так было в 80-ых. В 90-ых в течение короткого периода времени профессия приобрела некий статус, впрочем, оказавшийся иллюзорным. Все быстро вернулось на круги своя. В 2013 году программист — это низшее звено, вынужденное довольствоваться копеечной зарплатой, заправлять принтеры с кофеварками и испытывать жесточайшую конкуренцию и демпинг со стороны белорусов, хохлов и прочих индусов.

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

т.к хочу стать программистом, а не тупым кодером.

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

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

Methematica вполне соотносится с тем, что я говорил об успешном применении лиспа.

forCe
()

Python подходит отлично. Правда ли это?

Да, по-идее. Он простой.

И какую лит-ру по Python 2.x

Разницы между 2 и 3 в изучении большой нет. Марк Лутц или и вовсе туториал на сайте. Возможно, уже говорили, но листать 11 страниц холивара не охота.

Ruby

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

PHP

Скорей, не «плохо подходит». Просто низкий порог вхождения, и как следствие, обилие низкоквалифицированных кадров сложило о языке не самое хорошее мнение.

хочется заниматься вебом

А чем это обусловлено? Обычно хотят игры писать...

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

Часто начинающим рекомендуют SICP. Но там mit-scheme. В принципе, интересно.

raven_cler ★★
()

дружу с математикой (и очень люблю её)

Ах да, недавно попадалась книга «Конкретная математика» всеми любимого Кнута с соавторами. Возможно, именно то, что ищешь.

raven_cler ★★
()

C++/Qt Java/Android

(пишу в надежде что пост не для троллинга создан))))

сабж советовали? C++/Qt или Java/Android ?

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

ты можешь програть на С/С++ практически для чего угодно, под какую угодно платформу. но везде будет разная объектная или процедурная среда. прогание под венду с WinAPI или MFC это совершенно не то что прогать используя классы Borland. и это совершенно не то что прогать используя Qt-шный фрейворк, не завися от платформы вобще. да, они все ипозволяют пользовать STL, но на этом наверное сходство и заканчивается. про прогание под линуха с гномовскими классами - это вообще отдельная песня. и я молчу про про всё остальное.

аналогично и с Java. структура и подход к созданию программы на Java SE и под Android - это как говорится 2 большие разнцы). хотя и там и там ты пользуешь жабу, и даже есть общие базовые библиотеки типа java.lang, java.io, java.xml наверне и ещё с пяток.

ну и да, под андроид тоже можно прогать на С/С++ но это уже высокий полет).

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

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

потому я вот предлагаю нацелиться на C++/Qt или Java/Android, не только как на наиболее перспективные сегодня области, но и как на наиболее продуманные среды, смотря на которые можно научиться делать многие вещи правильно. (ну и да, STL (стандартная библиотека шаблонов) перед этим тож надо выучить. его хвосты и стиль решения задач много где используется - и в С/С++ и в жабе.)

---- ещё одна тема достойнаяя и важная - это паттерны программировния (MVC model-view-controller знаете же что такое?) . и анти-паттерны (пробейте например «паблик морозов»)

Denjs
()
Ответ на: C++/Qt Java/Android от Denjs

... и немного по поводу скриптовых языков.

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

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

ECMA262 . имхо лучший выбор для начала. с большим продолжением. это стандартна кучу скриптовых языков, : Java Script, Action Script, Qt Script , скрипты в Unity, скрипты в Blender - и так далее и тому подобное. единственное, что станадртизировано из выше перечисленного (я про удаффский и пых). тема имеет нынче перспективы и как спец знающий жабоскрипт (не путить с java - общего в них только название) можно стать хорошо востребованным. особенно если потом понять и выучить нормальные промышленные языки. В общем ECMA262 (...javascript) это как с/с++ : многие ругают, но понимают и везде используют.

Denjs
()
Ответ на: C++/Qt Java/Android от Denjs

Очередной быдлокодер-гуедрочер приполз, и начал вещать дерьмовую чушь со своего убогого шестка. Запомни, чмо: гуйня - это ничто, и у настоящему программированию отношения никакого не имееь. Qt не нужно.

anonymous
()

Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.

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

Ещё один школоло-расставлятель-точек-над-i материализовался? Оскорбился, пубертатный, на то что твой питоний фап на место поставили? мал ты ещё, гругозора тебе, да опыта с образованием не хватает. Иди вон, институт закончи для начала. А потом рассуждай о месте в жизни Qt, Java, питона и других языков.

и узнай наконец, откопавшийся: Qt - это не «просто гуй», а полноценный, самостоятельный фреймворк с достойной, хорошо продуманный архитектурой классов, среди которых, кстати, GUI занимается едва-ли не 10%.

Просто «библиотечкой для гуя» это было лет 10 назад, но ты, видимо, с тех пор так и не эволюционировал.

Вали обратно в прошлое, зомби. от тебя смердит. ;)

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

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

anonymous
()
Ответ на: C++/Qt Java/Android от Denjs

Как после такого бреда этот шматок грязи смеет вонять, что он не примитивный гуедрочер? За вычетом сраной гуйни C++ везде одинаковый, и учить надо именно C++ и переносимые boost и stl, а не гомосяцкие «фреймворки».

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

Кучка убогих и кривых велосипедов.

Если смотреть на Qt через криворукую призму биндинга Qt к питону - то, да - именно так оно и кажется.

STL тоже надо учить. И он вполне в Qt прослеживается и нормально вписывается. Но Qt взял много хорошего и из Java. Например для «контейнерных классов» есть итераторы и в стиле Java и в стиле STL.

И если говорить про дизайн классов, если ты, конечно, понимаешь о чем это - то пример как раз надо брать с Qt. Именно потому я и говорю про Qt: «молодому» надо прививать хороший стиль программирования в грамотно спроектированном фреймворке (а не хороший стиль форматирования исходника в питоне ;) Если ты, конечно, понимаешь о чем я говорю )

Даже жабе до Qt в плане дизайна классов и организации взаимодействия объектов - далековато местами. Про Boost, увы, не могу сказать, не знаю.

А питон после Qt вообще вызывает отрыжку. Особенно полным несоответствием объявляемых «принципов интуитивной понятности» и фактическим положением дел с «нестройным нагромождением» логических костылей и «уникальными» для индустрии «решениями» практически в каждом втором классе.

------------------------------------------

Кстати, вопрос по теме буста - используя boost можно будет писать приложения для Андроидов и «мимими-планшетиков» на базе iOS ?

------------------------------------------

Ладно, малыш, твоё отношение «профессионала» к Qt уже все узнали.

Что скажешь про Java ? ^_^)))))

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

Ты заманал со своим педоном, быдлокодер-гуедрочер. C++ ты, ничтожество, не знаешь. Ни одного Qt-педика еще не видел, кто понимал бы C++.

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

Qt - дерьмо, которое написали люди, плохо знающие С++, не понимающие преимущества и недостатки этого инструмента. Отсюда тонны велосипедов, moc(строго говоря, Qt - это не с++, а надстройка над ним, идиоты не осилили язык и сделали свой) и пр. идиотизм. Ужасная недоява и ничего более. И да, вне ГУЯ он не нужен, ибо и без него инструментов хватает.

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

Отсюда тонны велосипедов, moc(строго говоря, Qt - это не с++, а надстройка над ним,идиоты не осилили язык и сделали свой)

ээх, школота, ты, пубертатная... блин, откудаже тут столько документо-неосилятоов ?!

Я понимаю, что дрочить на картинки проще и приятнее, но если уж ругаешь инструмент, то хоть почитай почему оно сделано именно так.

Ты хоть в курсе-то что на разных платформах - разные компиляторы С/C++ ? например майкрософтовский С++ не поддерживает шаблоны, у маковского свои заморочки, а про мобилковые платформы мы вообще молчим. И это даже не говоря о том, что среда и окружающий SDK разный.

Невозможно написать маломальски сложную программу на С++, так, что бы он компилился на всех платформах и всех компиляторах.

Метакомпиляция - в результате которой появляются moc-файлы - это конвертация «платформонезависимого Qt-style C++ исходника», в вид, пригодный для сборки на конкретной платформе, под конкретное железо, с конкретным компилятором, .

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

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

например майкрософтовский С++ не поддерживает шаблоны

Быдлокодер такой быдлокодер. Тебя мамка-проститутка башкой об пол часто роняла, да? Иначе почему ты такой дебил получился?

у маковского свои заморочки

Ты про gcc, да, лошара неумная? Или про полностью gcc-совместимый clang?

а про мобилковые платформы мы вообще молчим

Если б только у тебя была привычка молчать о том, в чем ты не разбираешься, тебя бы на ЛОРе вообще бы не было. Так что ты не молчи, ты посмеши народ рассказом о том, как g++ для мобильных платформ отличается от g++ на не-мобильных платформах.

Невозможно написать маломальски сложную программу на С++, так, что бы он компилился на всех платформах и всех компиляторах.

Вот так вот, сказанул, как отрезал. «Невозможно», и все тут. Пойду, поплачу в уголке, я, оказывается, двадцать лет невозможным занимаюсь.

Расскажи народу, посмеши публику, как Boost остается полностью переносимым без всякого говна вроде moc?

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

Все, что ты написал не соответствует действительности. Все современные компиляторы поддерживают С++03. МС поддерживает шаблоны.

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

И да, qt-программист, moc не занимается переносимостью в том смысле, что это не его основная задача. Он нужен для костылей в духе сигналов, слотов и пр. говна.

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

Пиши еще, гуиваятель. У тебя смешно выходит.

anonymous
()
2 июня 2013 г.
Ответ на: комментарий от anonymous

Бугага. Молодец. Ведь кто-нибудь точно купится на этот бред. Особенно на то, что Apache Hadoop написан на жабе и как это коррелирует с Python.

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