Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/55: Рейтинг темы: голосов - 55, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 26.11.2018
Сообщений: 1
1

Kotlin - как первый язык?

26.11.2018, 09:03. Показов 11470. Ответов 53
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Седина в бороду - бес в ребро: хочу попробовать выучить язык. Фактически первый (если не учитывать Basic 30 лет назад в школе). Цель: расшевелить мозги и получить возможность работать дома. Хочу поинтересоваться у пользователей:
1. Реально ли начинать с него?
2. Где учиться, если почти не владею английским.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.11.2018, 09:03
Ответы с готовыми решениями:

Первый/основной язык программирования
Первый/основной язык программирования как концепт учебного процесса с целью импортозамещения ПО. ...

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

Язык программирования Kotlin
Достаточно интересный новый (2011г.) язык Kotlin, предлагающийся компанией JetBrains (как? вы не...

C# как первый язык программирования
Добрый день. Решил изучить язык C# для начала, а потом и ASP.NET для трудоустройства. Раньше в...

53
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
26.11.2018, 09:46 2
Цитата Сообщение от Василиссса Посмотреть сообщение
почти не владею английским.
учить английский
Цитата Сообщение от Василиссса Посмотреть сообщение
Реально ли начинать с него?
я бы с явы начал
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
26.11.2018, 09:52 3
Цитата Сообщение от Василиссса Посмотреть сообщение
расшевелить мозги и получить возможность работать дома.
Учить надо не столько язык как информатику - т.е. в общем прикладную математику и создание алгоритмов. А язык это не более чем ручка для записи алгоритма.
Цитата Сообщение от Василиссса Посмотреть сообщение
Где учиться, если почти не владею английским.
У нас в группе после первого курса на английском свободно читали документацию даже те кто в школе учили немецкий и французский. Реальность чтения справочной документации именно по языкам заставила так же как и тот факт что все команды языков примерно соответсвуют предложениям на английском. Ну и вообще техническая документация такая штука что ее лучше читать в оригинале.
0
in code we trust
 Аватар для __py__
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
02.12.2018, 18:00 4
https://stepik.org/course/5482/syllabus
Основы программирования

Этот курс полезен тем, что он не заставляет вас выбирать конкретный язык курса c#.
Можно его проходить на любом выбранном языке.
0
Завсегдатай
 Аватар для Kukstyler
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
02.12.2018, 23:21 5
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Учить надо не столько язык как информатику - т.е. в общем прикладную математику и создание алгоритмов.
Спорное утверждение. Всё зависит от направления, в котором ты хочешь работать. Если в спец. проекты для создания систем в режиме реального времени, либо исследовательские проекты - то скорее да. Но, т.к. по большому счёту, подавляющее большинство работы сегодня ориентировано на бизнес приложения, то быть гением алгоритмизации нужно далеко не каждому.
Конечно, изучать математику надо! Но по большому счёту, имхо нормальный логический аппарат + хорошее знание именно языка и всей "эко-системы" вокруг него (в случае с Java это на пример те же широко используемые фреймворки, помимо БД и т.д. и т.п.) и имеет на сегодня подавляющий спрос. Т.е. если тебя устраивает работать в данной нише (бизнес приложения) - нет необходимости слишком углубляться в специфические математические дебри.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
03.12.2018, 04:12 6
Цитата Сообщение от Kukstyler Посмотреть сообщение
то быть гением алгоритмизации нужно далеко не каждому.
Это как бы сильно упрощает жизнь и снижает количество кода на порядки. Отсюда разница в продуктивности и как следствие з/п. А быдлокодеров которые только проблемы создают и себе и другим в каждой сраной академии пачку выпускают каждые три месяца.

Добавлено через 1 минуту
Цитата Сообщение от Kukstyler Посмотреть сообщение
в случае с Java
В случае с Java проще застрелится чем программировать. Анахронизм тот еще. Уровень симулы-67 и не выше.
0
xoraxax
03.12.2018, 04:27
  #7

Не по теме:

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
В случае с Java проще застрелится чем программировать. Анахронизм тот еще. Уровень симулы-67 и не выше.
опять лекарство забыл выпить?

0
Завсегдатай
 Аватар для Kukstyler
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
03.12.2018, 12:52 8
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А быдлокодеров которые только проблемы создают и себе и другим в каждой сраной академии пачку выпускают каждые три месяца.
Цитата Сообщение от Kukstyler Посмотреть сообщение
нормальный логический аппарат + хорошее знание именно языка и всей "эко-системы" вокруг него
Fulcrum_013, расслабтесь. Мои слова не являются напдакой.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
03.12.2018, 20:37 9
Kukstyler, Ну как бы вообще считаю что называть программистами людей не имеющих высшего образования в области прикладной математики и вычислительной техники - это не нападка а преступление. Хотя бы потому что наличие такого образования обязательно для получения квалификации инженер-программист.
0
in code we trust
 Аватар для __py__
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
03.12.2018, 21:18 10
Знаменитые самоучки и дилетанты
https://scisne.net/a-1638
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
03.12.2018, 21:32 11
Цитата Сообщение от __py__ Посмотреть сообщение
Знаменитые самоучки и дилетанты
https://scisne.net/a-1638
И все до единого либо организаторы либо исследователи наук которых еще не существовало как таковых либо академии таки кончали аки Ломоносов. И ни одного инженера.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4545 / 2739 / 486
Регистрация: 28.04.2012
Сообщений: 8,649
03.12.2018, 21:49 12
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Хотя бы потому что наличие такого образования обязательно для получения квалификации инженер-программист.
Наличие такого образования и квалификации не означает наличия у человека способностей к программированию. Не раз видел таких.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
03.12.2018, 22:49 13
Цитата Сообщение от korvin_ Посмотреть сообщение
Наличие такого образования и квалификации не означает наличия у человека способностей к программированию. Не раз видел таких.
В реалиях СНГ - да видел таких выше крыши. У нас в группе это было процентов 70. Но как бы это проблемы практики раздачи дипломов неосилянтам, доставшееся в наследство от СССР, а не программы подготовки которую они не осилили.
А вот ни одного толкового программиста который бы не имел соответствующего фундаментального базиса не видел, да это и невозможно в принципе, поскольку универ не предмет поклонения а средство освоения оного базиса быстро, сбалансировано и без особых проблем.
0
Завсегдатай
 Аватар для Kukstyler
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
03.12.2018, 23:16 14
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
считаю что называть программистами людей не имеющих высшего образования в области прикладной математики и вычислительной техники - это не нападка а преступление.
Вы вольны считать как угодно, это Ваше право. Однако ведя данную дискуссию, приводите какие-то аргументы. По каким причинам Вы так считаете?
Согласен, было время, при котором Ваш подход был абсолютно правдивым. Однако времена меняются, понятие "информатика" стало намного обширнее. Многое автоматизировалось. Именно по-этому, то, что раньше было необходимостью для каждого, сегодня превратилось в узкую специализацию.
Ещё раз хочу подчеркнуть: знание математики - это очень хорошо! И знать её надо, но нет обязательности быть математиком, за исключением конкретных узких специализаций в программировании.
Понимаете, Вы фактически утверждаете, что для того, что бы быть программистом, надо на отлично знать ассемблер. Иначе, Кирдык тебе как профессионалу. А это, на сегодняшний день, далеко не так.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 00:24 15
Цитата Сообщение от Kukstyler Посмотреть сообщение
Однако времена меняются, понятие "информатика" стало намного обширнее.
Этот термин имеет очень четкое определение - наука изучающая алгоритмы.
Цитата Сообщение от Kukstyler Посмотреть сообщение
По каким причинам Вы так считаете?
По тем же по которым кухарки не делают операции на сердце, а дворники не проектируют орбитальные станции. Разработка софта - сложная инженерная деятельность которая требует должного уровня подготовки и в первую очередь математического базиса, гораздо более мощного чем другие инженерные специальности.
0
Завсегдатай
 Аватар для Kukstyler
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
04.12.2018, 01:18 16
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Этот термин имеет очень четкое определение - наука изучающая алгоритмы.
А когда-то думали, что земля плоская! Отрицать, что информатика уже давно разрослась и вышла далеко за рамки просто науки изучающей алгоритмы могут 2 типа людей: 1 - те, которые просто "не в теме" и последние лет 25 живут в своём мире и другим ничем не интересуются, и 2 - те которые просто напрочь не хотят видеть реальности.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
кухарки не делают операции на сердце
А это, Милейшай, не аргумент, а чистой воды демагогия. Нас интересуют факты, по которым, по Вашему, не на отлично знающий математику человек не может быть хорошим программистом.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 03:14 17
Цитата Сообщение от Kukstyler Посмотреть сообщение
не на отлично знающий математику человек не может быть хорошим программистом.
Копьютер есть универсальная числодробилка. Все что может компьютер это числодробить. Иллюзия что компьютер делает что то еще возникает исключительно в результате правильно организованного числодробления. Каким образом можно организовать процесс числодробления правильно не построив перед этим математическую модель задачи?
Цитата Сообщение от Kukstyler Посмотреть сообщение
1 - те, которые просто "не в теме" и последние лет 25 живут в своём мире и другим ничем не интересуются, и 2 - те которые просто напрочь не хотят видеть реальности.
Это наука изучающая алгоритмы. А что то другое могут утверждать только люди очень далекие от разработки софта, которые вообще не в теме, потому что не имеют профильного образования и как следствие слыхам не слыхивали про все остальные науки и разделы математики, которые все это куда разрослись компутерные технологии описывают математически, и не понимают того, что именно наука об алгоритмах это очень так незаменимый инструмент в плане програмной реализации всех этих моделей, но не более чем инструмент предназначенный для конкретной цели .

Добавлено через 1 минуту
Цитата Сообщение от Kukstyler Посмотреть сообщение
е на отлично знающий математику человек не может быть хорошим программистом.
Хотя бы потому что любой кот написанный без знания и грамотного применения теории графов - быдлокод по определению, не говоря уже об архитектурах.

Добавлено через 19 минут
Цитата Сообщение от Kukstyler Посмотреть сообщение
Нас интересуют факты, по которым, по Вашему, не на отлично знающий математику человек не может быть хорошим программистом
Потому что хороший программист это в первую очередь хороший математик.
Ну и вообще термин "software" переводится на русский как "математическое обеспечение ЭВМ".
О какой разработке математического обеспечения человеком не знающим математику может идти речь вообще, не говоря уже о разработке качественного софта.

Добавлено через 7 минут
Цитата Сообщение от Kukstyler Посмотреть сообщение
Вы фактически утверждаете, что для того, что бы быть программистом, надо на отлично знать ассемблер.
Не приписывайте мне ваших домыслов. Я этого нигде не утверждал. Но как оно там на уровне регистров, кеша, прерываний, памяти и т.д. шеволится знать и понимать действительно нужно очень хорошо.
Цитата Сообщение от Kukstyler Посмотреть сообщение
Иначе, Кирдык тебе как профессионалу. А это, на сегодняшний день, далеко не так.
С каких пор ассемблерный выхлоп компилятора перестал быть мерилом качества хардверной оптимизации? Или компиляторы разрабатывать перестали? Или реверс куда-то испарился? Это как было востребовано так и останется востребованным всегда.

Добавлено через 31 минуту
Цитата Сообщение от Kukstyler Посмотреть сообщение
Милейшай, не аргумент, а чистой воды демагогия
Демагогией занимаются те кто считает что разработка софта это написание кода. На самом деле написание кода это финальная и наиболее простая часть разработки.
0
131 / 146 / 19
Регистрация: 19.02.2017
Сообщений: 619
04.12.2018, 03:43 18
Цитата Сообщение от Василиссса Посмотреть сообщение
Здравствуйте! Седина в бороду - бес в ребро: хочу попробовать выучить язык. Фактически первый (если не учитывать Basic 30 лет назад в школе). Цель: расшевелить мозги и получить возможность работать дома.
Программирование - это не язык. Это процесс построения вычислительных процессов. Язык только инструмент для этого. Изучение языка программирования сравнимо с изучением кисточек художником. Звучит абсурдно не правда ли.

Цитата Сообщение от Василиссса Посмотреть сообщение
Реально ли начинать с него?
Зависит от цели. Статические языки плохо подходят для начала. Хотя Kotlin в этом отношении лучше Java. Но все равно вы рискуете погрязнуть в обилии синтаксических конструкций. Первый язык должен быть по проще. Посоветовал бы вам Racket, а в качестве учебника книгу "Структура и интерпретация компьютерных программ", и в добавок книгу "How to Design Programms". Но вы вряд ли меня послушаете.

Цитата Сообщение от Василиссса Посмотреть сообщение
Где учиться, если почти не владею английским.
Сложный вопрос. Информации море, но она фрагментирована. Вылавливать ценную информацию очень сложно. На это уходит уйма времени и ресурсов мозга.

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

Добавлено через 5 минут
Василиссса, я предлагал вам начать с языка Racket, который является диалектом языка Lisp. Есть интересная статья про Lisp, почитайте - Lisp: побеждая посредственность. Преимуществ Лиспов для обучения очень много. Одно из тих это то, что они очень простые. Сложно придумать более простого языка программирования. И в тоже время они очень мощные. Статья об этом.

Добавлено через 15 минут
Цитата Сообщение от korvin_ Посмотреть сообщение
Наличие такого образования и квалификации не означает наличия у человека способностей к программированию. Не раз видел таких.
Вы имеет ввиду отучившихся ради диплома? Так в СНГ в любой профессии почти все такие, не только в программировании. Эта проблема людей, а не того факта, что нужно много учиться чтобы быть квалифицированным.

Способности у всех примерно одинаковы. Просто одни трудятся, а другие нет. Большая часть сразу себе ставит ограничение в виде: я не смогу, я не достаточно умен, и т.п. Вот вы себе тоже ограничение поставили. Говоря, что изучать алгоритмы не нужно.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 03:56 19
Цитата Сообщение от Edzard Посмотреть сообщение
Первый язык должен быть по проще.
Первый язык не должен ограничивать мышление. Не знаю как для любительских целей, а вот для профессионалов есть только один язык годный для изучения первым - С++.
0
131 / 146 / 19
Регистрация: 19.02.2017
Сообщений: 619
04.12.2018, 04:09 20
Первый язык не должен ограничивать мышление.
Вот именно. Лисп не ставит никаких ограничений. В отличие от C++.

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

Вот прямо сейчас читал:

Я учился на первом курсе и у меня была неплохая, хорошо оплачиваемая работа. Можно было бы гордиться собой, но тут мне повезло встретиться еще с одним человеком, который сильно повлиял на всю дальнейшую историю - Луговским. Я натолкнулся на топик, в котором, он, прямо-таки техно-фашисткой манере, сообщал всем, что "C++ - довольно таки примитивное, но монстровое поделие, полное исторически сложившихся нелепых нагромождений".

Излишне говорить, какие эмоции вызывало такое такое заявление, однако, в последующем бурном обсуждении он рационально и аргументированно защищал эту позицию, предлагая вместо С++ испробовать Forth, Haskell, Erlang и вершину языков программирования (по его мнению) - Lisp. Я заинтересовался.
Добавлено через 3 минуты
Цитата из страницы Википедии про Пола Грэма:

Грэм является автором так называемого «Парадокса Блаба» («Blub paradox»), ссылки на который нередко встречаются на тематических ресурсах, посвящённых обсуждению новых и ограниченно популярных языков и механизмов программирования. «Парадокс Блаба» описан в очерке «Побеждая посредственность». Его сущность состоит в том, что программист, знающий некоторый язык («Блаб»), «думает на Блабе» — выражает решение любой задачи в средствах Блаба, а имеющиеся в более мощном языке дополнительные средства в его глазах ничего не стоят, так как он не умеет их применять. Только когда программист по каким-то внешним, дополнительным причинам изучит более мощный язык, он получит возможность смотреть на Блаб «сверху вниз» и увидит его ограниченность. Таким образом, ограниченность Блаба сама по себе не может стать стимулом для изучения более мощного языка, так как для осознания этой ограниченности необходимо уже знать такой язык. Этим Грэм объясняет то, что программисты обычно не желают изучать более эффективные инструменты программирования, чем те, которыми они уже владеют (в частности, непопулярность Лиспа).
1
04.12.2018, 04:09
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2018, 04:09
Помогаю со студенческими работами здесь

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

Питон, как первый язык программирования
питон как первый язык программирования пойдёт ли ?

Стоит ли изучать Python как первый язык?
Спасибо. Accept, можно поинтересоваться не по теме? Как вы думаете, Python перспективный ЯП,...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
[golang] 169. Majority Element
alhaos 28.01.2025
Тут надо вернуть "мажористый" элемент который встречается в слайсе больше чем в половине случаев. По условиям задачи во входных данных такой элемент обязан присутствовать. / / . . .
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
Какой ответ HTTP лучше использовать: 403 Forbidden или 401 Unauthorized, когда недостаточно прав
bytestream 28.01.2025
В современной веб-разработке правильная обработка ошибок и точное информирование клиентов о статусе их запросов играют критическую роль в создании надежных и безопасных приложений. Особое внимание. . .
Как получить список всех файлов коммита в Git
bytestream 28.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде и других файлах проекта. В основе работы Git лежит концепция коммитов - снимков. . .
Как записать только часть изменений файла в Git
bytestream 28.01.2025
В процессе разработки программного обеспечения часто возникает необходимость сохранить только определенные изменения из множества внесенных правок в файлах. Система контроля версий Git предоставляет. . .
[golang] 80. Remove Duplicates from Sorted Array II
alhaos 28.01.2025
В предоставленном упорядоченном по возрастанию целочисленном слайсе, оставить уникальные элементы полюс один возможный дубликат. Вернуть количество таких элементов. / / . . .
Что такое внедрение зависимостей и для чего оно применяется
bytestream 27.01.2025
В современной разработке программного обеспечения одной из ключевых проблем является управление зависимостями между различными компонентами системы. Внедрение зависимостей (Dependency Injection, DI). . .
Как установить cellpadding и cellspacing в CSS
bytestream 27.01.2025
При создании веб-страниц с табличными данными разработчики часто сталкиваются с необходимостью правильного оформления внутренних и внешних отступов в таблицах. В традиционной разметке HTML для этих. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru