0 / 0 / 0
Регистрация: 26.11.2018
Сообщений: 1
|
|
1 | |
Kotlin - как первый язык?26.11.2018, 09:03. Показов 11470. Ответов 53
Метки нет (Все метки)
Здравствуйте! Седина в бороду - бес в ребро: хочу попробовать выучить язык. Фактически первый (если не учитывать Basic 30 лет назад в школе). Цель: расшевелить мозги и получить возможность работать дома. Хочу поинтересоваться у пользователей:
1. Реально ли начинать с него? 2. Где учиться, если почти не владею английским.
0
|
26.11.2018, 09:03 | |
Ответы с готовыми решениями:
53
Первый/основной язык программирования Кто какой язык программирования учил первый Язык программирования Kotlin C# как первый язык программирования |
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
26.11.2018, 09:46 | 2 |
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
26.11.2018, 09:52 | 3 |
Учить надо не столько язык как информатику - т.е. в общем прикладную математику и создание алгоритмов. А язык это не более чем ручка для записи алгоритма.
У нас в группе после первого курса на английском свободно читали документацию даже те кто в школе учили немецкий и французский. Реальность чтения справочной документации именно по языкам заставила так же как и тот факт что все команды языков примерно соответсвуют предложениям на английском. Ну и вообще техническая документация такая штука что ее лучше читать в оригинале.
0
|
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
|
|
02.12.2018, 18:00 | 4 |
https://stepik.org/course/5482/syllabus
Основы программирования Этот курс полезен тем, что он не заставляет вас выбирать конкретный язык курса c#. Можно его проходить на любом выбранном языке.
0
|
Завсегдатай
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
|
|
02.12.2018, 23:21 | 5 |
Спорное утверждение. Всё зависит от направления, в котором ты хочешь работать. Если в спец. проекты для создания систем в режиме реального времени, либо исследовательские проекты - то скорее да. Но, т.к. по большому счёту, подавляющее большинство работы сегодня ориентировано на бизнес приложения, то быть гением алгоритмизации нужно далеко не каждому.
Конечно, изучать математику надо! Но по большому счёту, имхо нормальный логический аппарат + хорошее знание именно языка и всей "эко-системы" вокруг него (в случае с Java это на пример те же широко используемые фреймворки, помимо БД и т.д. и т.п.) и имеет на сегодня подавляющий спрос. Т.е. если тебя устраивает работать в данной нише (бизнес приложения) - нет необходимости слишком углубляться в специфические математические дебри.
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
03.12.2018, 04:12 | 6 |
Это как бы сильно упрощает жизнь и снижает количество кода на порядки. Отсюда разница в продуктивности и как следствие з/п. А быдлокодеров которые только проблемы создают и себе и другим в каждой сраной академии пачку выпускают каждые три месяца.
Добавлено через 1 минуту В случае с Java проще застрелится чем программировать. Анахронизм тот еще. Уровень симулы-67 и не выше.
0
|
xoraxax
|
03.12.2018, 04:27
#7
|
0
|
Завсегдатай
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
|
|
03.12.2018, 12:52 | 8 |
Fulcrum_013, расслабтесь. Мои слова не являются напдакой.
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
03.12.2018, 20:37 | 9 |
Kukstyler, Ну как бы вообще считаю что называть программистами людей не имеющих высшего образования в области прикладной математики и вычислительной техники - это не нападка а преступление. Хотя бы потому что наличие такого образования обязательно для получения квалификации инженер-программист.
0
|
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
|
|
03.12.2018, 21:18 | 10 |
Знаменитые самоучки и дилетанты
https://scisne.net/a-1638
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
03.12.2018, 21:32 | 11 |
И все до единого либо организаторы либо исследователи наук которых еще не существовало как таковых либо академии таки кончали аки Ломоносов. И ни одного инженера.
0
|
4545 / 2739 / 486
Регистрация: 28.04.2012
Сообщений: 8,649
|
|
03.12.2018, 21:49 | 12 |
Наличие такого образования и квалификации не означает наличия у человека способностей к программированию. Не раз видел таких.
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
03.12.2018, 22:49 | 13 |
В реалиях СНГ - да видел таких выше крыши. У нас в группе это было процентов 70. Но как бы это проблемы практики раздачи дипломов неосилянтам, доставшееся в наследство от СССР, а не программы подготовки которую они не осилили.
А вот ни одного толкового программиста который бы не имел соответствующего фундаментального базиса не видел, да это и невозможно в принципе, поскольку универ не предмет поклонения а средство освоения оного базиса быстро, сбалансировано и без особых проблем.
0
|
Завсегдатай
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
|
|
03.12.2018, 23:16 | 14 |
Вы вольны считать как угодно, это Ваше право. Однако ведя данную дискуссию, приводите какие-то аргументы. По каким причинам Вы так считаете?
Согласен, было время, при котором Ваш подход был абсолютно правдивым. Однако времена меняются, понятие "информатика" стало намного обширнее. Многое автоматизировалось. Именно по-этому, то, что раньше было необходимостью для каждого, сегодня превратилось в узкую специализацию. Ещё раз хочу подчеркнуть: знание математики - это очень хорошо! И знать её надо, но нет обязательности быть математиком, за исключением конкретных узких специализаций в программировании. Понимаете, Вы фактически утверждаете, что для того, что бы быть программистом, надо на отлично знать ассемблер. Иначе, Кирдык тебе как профессионалу. А это, на сегодняшний день, далеко не так.
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
04.12.2018, 00:24 | 15 |
Этот термин имеет очень четкое определение - наука изучающая алгоритмы.
По тем же по которым кухарки не делают операции на сердце, а дворники не проектируют орбитальные станции. Разработка софта - сложная инженерная деятельность которая требует должного уровня подготовки и в первую очередь математического базиса, гораздо более мощного чем другие инженерные специальности.
0
|
Завсегдатай
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
|
|
04.12.2018, 01:18 | 16 |
А когда-то думали, что земля плоская! Отрицать, что информатика уже давно разрослась и вышла далеко за рамки просто науки изучающей алгоритмы могут 2 типа людей: 1 - те, которые просто "не в теме" и последние лет 25 живут в своём мире и другим ничем не интересуются, и 2 - те которые просто напрочь не хотят видеть реальности.
А это, Милейшай, не аргумент, а чистой воды демагогия. Нас интересуют факты, по которым, по Вашему, не на отлично знающий математику человек не может быть хорошим программистом.
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
04.12.2018, 03:14 | 17 |
Копьютер есть универсальная числодробилка. Все что может компьютер это числодробить. Иллюзия что компьютер делает что то еще возникает исключительно в результате правильно организованного числодробления. Каким образом можно организовать процесс числодробления правильно не построив перед этим математическую модель задачи?
Это наука изучающая алгоритмы. А что то другое могут утверждать только люди очень далекие от разработки софта, которые вообще не в теме, потому что не имеют профильного образования и как следствие слыхам не слыхивали про все остальные науки и разделы математики, которые все это куда разрослись компутерные технологии описывают математически, и не понимают того, что именно наука об алгоритмах это очень так незаменимый инструмент в плане програмной реализации всех этих моделей, но не более чем инструмент предназначенный для конкретной цели .
Добавлено через 1 минуту Хотя бы потому что любой кот написанный без знания и грамотного применения теории графов - быдлокод по определению, не говоря уже об архитектурах. Добавлено через 19 минут Потому что хороший программист это в первую очередь хороший математик. Ну и вообще термин "software" переводится на русский как "математическое обеспечение ЭВМ". О какой разработке математического обеспечения человеком не знающим математику может идти речь вообще, не говоря уже о разработке качественного софта. Добавлено через 7 минут Не приписывайте мне ваших домыслов. Я этого нигде не утверждал. Но как оно там на уровне регистров, кеша, прерываний, памяти и т.д. шеволится знать и понимать действительно нужно очень хорошо. С каких пор ассемблерный выхлоп компилятора перестал быть мерилом качества хардверной оптимизации? Или компиляторы разрабатывать перестали? Или реверс куда-то испарился? Это как было востребовано так и останется востребованным всегда. Добавлено через 31 минуту Демагогией занимаются те кто считает что разработка софта это написание кода. На самом деле написание кода это финальная и наиболее простая часть разработки.
0
|
131 / 146 / 19
Регистрация: 19.02.2017
Сообщений: 619
|
|
04.12.2018, 03:43 | 18 |
Программирование - это не язык. Это процесс построения вычислительных процессов. Язык только инструмент для этого. Изучение языка программирования сравнимо с изучением кисточек художником. Звучит абсурдно не правда ли.
Зависит от цели. Статические языки плохо подходят для начала. Хотя Kotlin в этом отношении лучше Java. Но все равно вы рискуете погрязнуть в обилии синтаксических конструкций. Первый язык должен быть по проще. Посоветовал бы вам Racket, а в качестве учебника книгу "Структура и интерпретация компьютерных программ", и в добавок книгу "How to Design Programms". Но вы вряд ли меня послушаете. Сложный вопрос. Информации море, но она фрагментирована. Вылавливать ценную информацию очень сложно. На это уходит уйма времени и ресурсов мозга. Важно ориентироваться на практику. Попробуйте прямо сейчас зарегистрироваться в Codewars и решить хотя бы одну задачу. Там правда на английском, можете использоваться переводчик. Добавлено через 5 минут Василиссса, я предлагал вам начать с языка Racket, который является диалектом языка Lisp. Есть интересная статья про Lisp, почитайте - Lisp: побеждая посредственность. Преимуществ Лиспов для обучения очень много. Одно из тих это то, что они очень простые. Сложно придумать более простого языка программирования. И в тоже время они очень мощные. Статья об этом. Добавлено через 15 минут Вы имеет ввиду отучившихся ради диплома? Так в СНГ в любой профессии почти все такие, не только в программировании. Эта проблема людей, а не того факта, что нужно много учиться чтобы быть квалифицированным. Способности у всех примерно одинаковы. Просто одни трудятся, а другие нет. Большая часть сразу себе ставит ограничение в виде: я не смогу, я не достаточно умен, и т.п. Вот вы себе тоже ограничение поставили. Говоря, что изучать алгоритмы не нужно.
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
04.12.2018, 03:56 | 19 |
Первый язык не должен ограничивать мышление. Не знаю как для любительских целей, а вот для профессионалов есть только один язык годный для изучения первым - С++.
0
|
131 / 146 / 19
Регистрация: 19.02.2017
Сообщений: 619
|
|
04.12.2018, 04:09 | 20 |
Вот прямо сейчас читал: Цитата из страницы Википедии про Пола Грэма:
1
|
04.12.2018, 04:09 | |
04.12.2018, 04:09 | |
Помогаю со студенческими работами здесь
20
JavaScript как первый язык Питон, как первый язык программирования Стоит ли изучать Python как первый язык? Подойдет ли python как первый язык программирования? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как в цикле обойти все поля объекта в 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 для этих. . .
|