2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3, 4  След.
 
 Выбор языка для изучения
Сообщение10.08.2014, 22:54 
Аватара пользователя


20/06/14
236
Планирую стать диванным программистом. Какой язык посоветуете изучать? Выбираю между C++ и Java

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение10.08.2014, 23:07 


10/04/12
704
Это очень не важно, и больше зависит от личного вкуса. Ну немного от решаемых задач.

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение10.08.2014, 23:41 


28/11/11
2884
Qazed в сообщении #895127 писал(а):
диванным программистом

Это как?

Qazed в сообщении #895127 писал(а):
Выбираю между C++ и Java

Почему/откуда сразу такой сильно ограниченный выбор?

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение10.08.2014, 23:50 
Аватара пользователя


20/06/14
236
Я не большой гурман в языках, мои знания начинаются и заканчиваются написанием калькулятора на Pascal и элементарными знаниями по Mathematica. Со вторым я планирую дружить, но поскольку без ядра Mathematica программы, написанные на Wolfram Language (как теперь модно говорить) не «компилируются», хочу изучить другие популярные языки.

C++ и Java — самые популярные языки программирования, подходящие для «наукоёмкого» программирования. А диванность, означает, что глубокое и фундаментальное изучение меня сейчас мало интересует.

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

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 00:34 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Диванный программист от работающего (или обучающегося в универе либо на курсах) отличается, как я понимаю, тем, что перед первым не стоят конкретные задачи; он просто хочет научиться программированию, что бы это не значило.
Итак, Java как таковую отметаем сразу. На кой чёрт вам она, если вы не планируете зарабатывать программированием.
Си/С++. Достойный и серьёзный выбор, вообще говоря. Изучая Си/С++, вы заодно много узнаете о том, что происходит у компьютера внутре. В наше время именно Си изучают на первых курсах универов. Но опять же: нужен ли он диванному программисту?
Теперь об иных альтернативах.
1. Python. Вот, что нужно диванному программисту. Низкий порог вхождения, разные парадигмы программирования, интеграция с разными прикладными пакетами... Попробуйте, вам понравится.
2. Processing. А вот это вообще бомба для диванного программиста. Основанный на Java, с Си-подобным синтаксисом, он предоставляет безграничные возможности для программирования изображений и анимации (в том числе интерактивной). Зайдите на openprocessing.org и узрите.

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 00:50 
Аватара пользователя


20/06/14
236
Ох, Aritaborian, спасибо за столь грамотный ответ. Меня как раз интересует не простота языка, а сложность, многогранность и красота конструкций, которые язык допускает, возможность открывать для себя всё новые и новые аспекты, нюансы, тонкости. По поводу Python я в думах, надеюсь, что Вы поможете мне в вопросе C++ vs. Python. По поводу Processing слышу впервые, сейчас же наведу справки.

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 00:57 


14/03/14
112
В США сейчас Python- это самый модный язык. Многие учебники введения в CompSci используют именно его. Мне нравится этот учебник: Python Programming: An Introduction to Computer Science by John Zelle, Michael Smith.


Лично мне кажется, Clojure- это красота и элегантность по сравнению с любым императивным языком. Я только начал играться с ним. Векторы, множества, функций точь в точь как в математике. Особо нечему привыкать.

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 01:12 
Аватара пользователя


20/06/14
236
ghetto, мода, по-моему, не лучший повод чему-то учиться. Сегодня в США модно вводить санкции, завтра модно вводить войска на Украину. Меня сейчас интересует вопрос прибыли — как инвестиции моего времени окупяся в дальнейшем. От Mathematica я жду помощи в решении конкретных задач, от другого языка — возможность получить интелектуальное удовольствие.

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

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 01:21 
Заслуженный участник
Аватара пользователя


06/10/08
6422
C и C++ знать, конечно, полезно, банально потому, что почти для всего, что может потребоваться, что-нибудь похожее уже написано на C или C++. А вот Java я не назвал бы языком для наукоемкого программирования.

Python - удобная штука, и опять же очень популярная. Не знаю, что конкретно Вы называете "наукоемким программирвоанием", но можете изучить основы Python и посмотреть на Sage - это монстр, включающий в себя кучу математических библиотек, приклееных к питону. Вполне сравним с Mathematica по возможностям.

Раз изучение диванное, то можете посмотреть не сильно погружаясь на кучу разных языков - Forth, Haskell/Ocaml/F#, Erlang/Elixir, Scheme/какой-нибудь другой Lisp, Prolog, Idris. Просто чтобы посмотреть на программирование по-разному и "получить интеллектуальное удовольствие".

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 01:31 


14/03/14
112
Я кажется использовал не совсем корректное слово. Python популярен именно потому, что научиться базам програмирования с его помощью проще простого.

Выучите любой язык(импер./функ.), так потом не проблема перейти на любой другой императивный или функциональный языки.

Если вы хотите оправдать время изучения языка, то почему бы вам не начать овладеванием базaми Computer Science ? Тогда, наверно, не будет так страшно от мыслей, что выбранный вами язык перестанет быть популярным.

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 01:32 
Аватара пользователя


20/06/14
236
Xaositect, ну не до конца жизни калькуляторы и «Hello, world!» писать же, хочется чего-то раз и навсегда... с полным погружением. Опять же, азы и старт меня не интересуют, меня интересует итог. Языки сравнимые с Mathematica я заменю Mathematica.

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 01:34 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
ghetto, понятно что вы имеете в виду, но мы не об этом всё-таки говорим.

-- 11.08.2014, 01:41 --

Qazed в сообщении #895168 писал(а):
Опять же азы меня не интересуют и старт, меня интересует итог.
Очень интересный момент, на котором стоило бы задержаться. Каким вы себе представляете этот итог? Вы определили себя как диванного программиста. Очевидно, что диванный программист не ставит перед собой конкретные цели типа написать новую ОС или устроиться на работу в Microsoft. Так каков же предполагаемый итог?

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 01:51 
Аватара пользователя


20/06/14
236
Итог:
1. Уверенное владение одним языком, вместо поверхностных знаний по 10-ти языкам;
2. Быть убеждённым, что потраченное время потрачено не зря;
3. Возможность писать полезные вещи;
4. На диванном уровне решать задачи от компьютерного зрения и программирования роботов до эмулирования нейронных сетей;
5. Получать удовольствие от процесса обучения

Список будет продолжаться

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 02:01 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Qazed в сообщении #895168 писал(а):
Языки сравнимые с Mathematica я заменю Mathematica.
Тоже весьма интересный момент. Вы хотите изучить программирование или вы хотите решать конкретные задачи? Wolfram Language это проблемно-ориентированный язык сверхвысокого уровня. Его беда (в некотором, впрочем, вполне определённом смысле) в крайне низком пороге вхождения. Любой дурак может установить Mathematica и, прочитав пару страничек справки, начать вычислять зубодробительные интегралы и строить красивые графики, не понимая, что именно за этим скрывается, и не подозревая об истинных возможностях языка и системы.

 Профиль  
                  
 
 Re: Выбор языка для изучения
Сообщение11.08.2014, 02:03 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Qazed в сообщении #895168 писал(а):
Xaositect, ну не до конца жизни калькуляторы и «Hello, world!» писать же, хочется чего-то раз и навсегда... с полным погружением.
Одно другому не мешает, а только помогает. Тем более что в последнее время с мэйнстримные языки (C++, Java) начали добавлять лямбды и прочие мультипарадигмальные фичи, чем больше Вы знаете, тем быстрее Вы с ними освоитесь и поймете, стоит ли их использовать и где.

Полезные вещи можно писать на любом языке, то же самое справедливо про компьютерное зрение и нейронные сети - opencv и библиотеки нейронных сетей есть везде. Внутри они, скорее всего, используют C/C++.

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 58 ]  На страницу 1, 2, 3, 4  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group