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

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

26.11.2018, 09:03. Показов 11461. Ответов 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
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 04:11 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от Edzard Посмотреть сообщение
Вот именно. Лисп не ставит никаких ограничений. В отличие от C++.
В отличии от С++ лисп не является языком универсального назначения, как и любой язык имеющий трассирующий GC. При этом GC вынуждает подстраивать архитектуру под него, вместо подстройки автомата под предметную область задачи как это позволяет делать С++.
0
131 / 146 / 19
Регистрация: 19.02.2017
Сообщений: 619
04.12.2018, 04:27 22
В отличии от С++ лисп не является языком универсального назначения, как и любой язык имеющий трассирующий GC. При этом GC вынуждает подстраивать архитектуру под него, вместо подстройки автомата под предметную область задачи как это позволяет делать С++.
Даже слов нет чтобы такое комментировать. Это ни что иное как "Парадокс Блаба".
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 08:45 23
Цитата Сообщение от Edzard Посмотреть сообщение
Это ни что иное как "Парадокс Блаба".
На самом деле парадокс блаба - это тянуть архаизмы 50-х типа трассирующего GC, который являлся компромиссом между гибкостью и быстроедйствием в сторону быстродействия для данных размещенных на магнитной ленте, или тюринговской трясины под названием ФП в современную разработку. Задачи давно ушли от задач того уровня для которых был удобен лисп в 50-х. Свою последнюю нишу - скриптовый язык САПР - он потерял аккурат в середине 90-х.
А касательно же современных языков - то С++ первый ООП язык который избавился от архаичного трассирующего GC, и на сегодняшний день единственный который сделал это успешно - с улучшением как возможностей и гибкости так и эффективности средств управления памятью.

Добавлено через 4 часа 0 минут
Цитата Сообщение от Edzard Посмотреть сообщение
Даже слов нет чтобы такое комментировать.
Естественно не будет. Потому что вы похоже не знаете ни критериев применимости языков ни критериям по которым определяется универсальность языка.
К примеру лисп принципиально не применим к такой огромной категории задач как задачи реального времени, в отличии от С++ и Fortran которые таких ограничений не имеют. Поэтому универсальным лисп быть не может так же как и все языки позаимствовавшие из него механизм GC.
И вообще вот удивительно - почему евангелисты лиспа во всю орут о его типа новизне и мощности, но при этом считают древним и мертвым его ровесника - Fortran, который еще в 50-ых доказал свое полное превосходство над лиспом для подавляющего большинства задач, и живее всех живых и по нынешний день, хотя и в довольно специфической нише - числодробилок для суперкомпьютеров.
0
Эксперт Java
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
04.12.2018, 10:00 24
Fulcrum_013, как же ты утомил разводить свой холивар в каждой теме. Тебя в детстве джавой били, C# насиловали и запирали в подвале чтобы ты сборку мусора там делал?
1
Завсегдатай
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
04.12.2018, 10:08 25
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Первый язык не должен ограничивать мышление.
Первый язык, скорее, должен формировать мышление программиста, ибо он не может ограничивать того, чего нет. А мышление программиста не является мышление математика, оно должно именно фомироваться.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Копьютер есть универсальная числодробилка.
В 60-ых/70-ых годах - да, оно так и было. Но сейчас-то 2018-ый на дворе!

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Иллюзия что компьютер делает что то еще возникает исключительно в результате правильно организованного числодробления.
Когда создавались первые автомобили, надо было быть механиком, что бы мочь управлять ими. Но уже давно появились такие вещи, как автомат. коробка передач, гидро-усилитель руля, паркиметры, системы авто-диагностики, авто. подкачка колёс, авто. торможение при слишком быстром сближении и .т.д. и .т.п...
Т.е. сегодня научиться водить машину сможет, наверное, даже шимпанзе! Потому как много чего придумали/добавили, тем самым отпала нужда в знании, не то что бы внутренних механизмов, а даже вещей, которые считались элементарными и необходимыми несколько лет назад.
К чему я это, скажите Вы? Это я попытался плавно перейти к понятию "слои абстрагирования". С тех пор, как Вы посвятили себя программированию, (а точнее, судя по всему математике), на свете появились такие вещи как Фреймворки, "умные" компиляторы и т.д. И сегодня, де факто, нет никакой необходимости ВСЕМ знать, что и как происходит на уровне процессора. Об этом будет знать компилятор. Главное грамотно (по инструкциям) использовать элементы языка. Да и далеко не каждый компилятор позволяет вмешиваться в тонкости генерирования машинного кода.

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

Цитата Сообщение от Edzard Посмотреть сообщение
Способности у всех примерно одинаковы.
Ну это Вы конечно перегнули... Коммунист что-ли?

Цитата Сообщение от Edzard Посмотреть сообщение
Просто одни трудятся, а другие нет.
Вы ещё про обезьяну с палкой нам расскажите.
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 10:19 26
Цитата Сообщение от Kukstyler Посмотреть сообщение
В 60-ых/70-ых годах - да, оно так и было. Но сейчас-то 2018-ый на дворе!
В любых годах. Это его суть. Все что вы видите на экране включая графику то что слышите в колонках и т.д. и т.п - результат числодробления. Даже каждый пиксель - число.

Добавлено через 3 минуты
Цитата Сообщение от Kukstyler Посмотреть сообщение
Но уже давно появились такие вещи, как автомат. коробка передач, гидро-усилитель руля, паркиметры, системы авто-диагностики, авто. подкачка колёс, авто. торможение при слишком быстром сближении и .т.д. и .т.п...
И вы еще скажите что их проектировать проще чем первые автомобили. Не забывайте что здесь вы не на месте водителя автомобиля а на месте проектировщика - т.е. количество систем которые надо спроектировать чтобы получился автомобиль и их сложность многократно возросли.
0
131 / 146 / 19
Регистрация: 19.02.2017
Сообщений: 619
04.12.2018, 10:19 27
Естественно не будет. Потому что вы похоже не знаете ни критериев применимости языков ни критериям по которым определяется универсальность языка.
К примеру лисп принципиально не применим к такой огромной категории задач как задачи реального времени, в отличии от С++ и Fortran которые таких ограничений не имеют. Поэтому универсальным лисп быть не может так же как и все языки позаимствовавшие из него механизм GC.
И вообще вот удивительно - почему евангелисты лиспа во всю орут о его типа новизне и мощности, но при этом считают древним и мертвым его ровесника - Fortran, который еще в 50-ых доказал свое полное превосходство над лиспом для подавляющего большинства задач, и живее всех живых и по нынешний день, хотя и в довольно специфической нише - числодробилок для суперкомпьютеров.
Какие еще задачи реального времени, что вы сами из такого написали? Лиспы есть компилируемые, и с хорошей оптимизацией, что позволяет им быть близким по скорости к C. Но скорость языка в 2018 году ничего не значит. Сколько пишется софта и сколько пишется на C/C++? Софт на C/C++ хорошо если занимает 1% от общего количества разработки. И из этого 1%-а "задачи реального времени" занимают еще меньше объема. Выходит что это еще один детский стереотип.

Теперь по поводу кода. На Lisp программы пишутся в разы быстрее чем на любом другом языке. Не говоря уже о C++. Сколько стоит час программиста? Достаточно дорого. Пока такие как вы, с низкой квалификацией, но с огромным гонором будут тужится писать на императивных языках, другие напишут на Лиспе в несколько раз больше программ. И эти программы будут поддерживаемые, а ваш код сгодится только на выброс. Все прекрасно знают, что ручное управление памятью небезопасно.
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 10:20 28
Цитата Сообщение от Kukstyler Посмотреть сообщение
Об этом будет знать компилятор
Компилятор не может знать о решаемой задаче вообще ничего.
0
131 / 146 / 19
Регистрация: 19.02.2017
Сообщений: 619
04.12.2018, 10:22 29
Цитата Сообщение от Kukstyler Посмотреть сообщение
Ну это Вы конечно перегнули... Коммунист что-ли?
Цитата Сообщение от Kukstyler Посмотреть сообщение
Вы ещё про обезьяну с палкой нам расскажите.
Сразу в черный список.
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 10:23 30
Цитата Сообщение от Edzard Посмотреть сообщение
Какие еще задачи реального времени, что вы сами из такого написали?
Да так мелочи. моторчики гигаватные покрутить тудыть-сюдыть
Цитата Сообщение от Edzard Посмотреть сообщение
Софт на C/C++ хорошо если занимает 1% от общего количества разработки
По количеству строк кода считаем, или по объему и сложности выполняемой этим софтом работы?
.
0
Завсегдатай
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
04.12.2018, 10:24 31
Fulcrum_013, Вы не готовы/хотите принимать очевидные реалии. От этого они не изменятся. Хотя, это тоже Ваше право.
Дискуссия на мой взгляд себя исчерпала.

Amicus Plato, sed magis amica veritas. (c)
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 10:27 32
Цитата Сообщение от Edzard Посмотреть сообщение
Сколько стоит час программиста?
Зависит от знаний математики и сложности задач которые он способен решить. Чем больше знания/сложность тем дороже. Самые дорогие в реалтайме и в САПР. Самые дешевые в веб-деве - фактически разравнивание ввода-вывода сервера БД.
Ну а то что для сложных задач выбирают в подавляющем большинстве случаев именно плюсы говорит исключительно о их высокой продуктивности и экономии часов оного программмиста.

Добавлено через 1 минуту
Цитата Сообщение от Edzard Посмотреть сообщение
Лиспы есть компилируемые, и с хорошей оптимизацией, что позволяет им быть близким по скорости к C. Но скорость языка в 2018 году ничего не значит.
Для реалтайма принципиально важна предсказуемость времени выполненияя любой операции. GC это исключает. Так же важна хорошая читабельность которая является залогом надежности, чем лисп никогда не болел.
0
Завсегдатай
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
04.12.2018, 10:29 33
Цитата Сообщение от Edzard Посмотреть сообщение
Сразу в черный список.
Меня? За что?
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 10:30 34
Цитата Сообщение от Edzard Посмотреть сообщение
Теперь по поводу кода.
Написание кода - это последняя и наиболее простая часть разработки софта. О какой там у вас квалификации вообще может идти речь если вы даже не знаете из каких этапов состоит разработка софта?
0
Завсегдатай
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
04.12.2018, 10:33 35
Чисто ради того, что б Вы не ввели кого-то в заблуждение:
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Компилятор не может знать о решаемой задаче вообще ничего.
Это в 60-ых/70-ых он не знал. А сейчас, поняткие "компилятор" вышло за рамки инструмента, чисто переводящего исходний код в машинный.
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 10:35 36
Цитата Сообщение от Edzard Посмотреть сообщение
Все прекрасно знают, что ручное управление памятью небезопасно.
Ручное управление - это когда автомат с ладони ест как в плюсах, а не как в лиспе - дикий зверь который руки-ноги пообрывает если на дороге попастся.
Цитата Сообщение от Edzard Посмотреть сообщение
Все прекрасно знают, что ручное управление памятью небезопасно.
Угу. На самом деле к труднообнаруживаемым утечкам приводит трассирующий GC. Он кстати никогда и не позиционировался как защита от утечек.
А насчет опасностей ручного управления - так даже дети знают что автоматика на смартпоинтерах безопаснее гибче и эффективней чем устаревший трассирующий GC.
0
Завсегдатай
1259 / 868 / 268
Регистрация: 02.04.2009
Сообщений: 3,300
04.12.2018, 10:37 37
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Написание кода - это последняя и наиболее простая часть разработки софта.
Типичный подход Функционала, либо теоретика.

Fulcrum_013, давайте не будем нести чушь! Мне, знаете ли, абсолютно параллельно, что Вы напрочь не воспринимаете сказанную мной информацию. Но перестаньте нести бред, который может прочитать кто-то, и не дай Бог поверить.
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 11:03 38
Цитата Сообщение от Kukstyler Посмотреть сообщение
Это в 60-ых/70-ых он не знал. А сейчас, поняткие "компилятор" вышло за рамки инструмента, чисто переводящего исходний код в машинный.
Никуда оно не вышло и не выйдет. Проверяет соответсвие текста формальным правилам и оптимизирует при переводе в машкод и не более. Максимум может бесконечную рекурсию найти но не более. Искать ошибки в алгоритмах/архитектуре и всем остальном кроме, формального соответствия кода правилам языка оно не в состоянии потому что не имеет интеллекта а соответсвенно и задачу понимать не может.

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

Добавлено через 3 минуты
Цитата Сообщение от Kukstyler Посмотреть сообщение
Типичный подход Функционала, либо теоретика.
Типичный подход инжинера к инженерной проблеме.
А без анализа предметной области и т.д. и т.п не софт разрабатывают а быдлокодят потом быдлорефакторят и оно все равно не работает.

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

Добавлено через 3 минуты
Цитата Сообщение от Kukstyler Посмотреть сообщение
Потребность в программистах за последние десятилетия растёт в геометрической прогрессии.
В программистах а не в быдлокодерах. Это две огромные разницы.

Добавлено через 6 минут
Цитата Сообщение от Edzard Посмотреть сообщение
Сколько стоит час программиста? Достаточно дорого.
Чем дороже стоит час программиста, тем дешевле он обходится для компании. (с) Билл Гейтс.
0
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
04.12.2018, 11:04 39
Цитата Сообщение от Edzard Посмотреть сообщение
Софт на C/C++ хорошо если занимает 1% от общего количества разработки.
Под виндой около 70-80% десктоп программ написаны на C/C++.
Linux пока меньше изучал, точно не скажу про соотношение в нём.
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.12.2018, 11:11 40
Цитата Сообщение от __py__ Посмотреть сообщение
Linux пока меньше изучал, точно не скажу про соотношение в нём.
То уже от области применения зависит. К примеру в Space-X доля софта на плюсах 100%. И ядро линухи под реалтайм для Space-X тоже на плюсах в основном допиливали.
0
04.12.2018, 11:11
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2018, 11:11
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала согласования+ стартер fast регистров. Файлы прилагаю. . . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru