@MishaXXL

На сколько Java отличается в обозначении типизации от C# для понятия TS?

Начиная работать с TS многие вещи непонятны за что его так любят.
Из материалов понял, что TS писал автор C#.
Мне подогнали курс по Java, решил попробовать его поучить, чтобы больше понять логику TS.

Отсюда возник вопрос, что есть ли разница, что учить Java или C# для понимания фундаментальных основ TS?
Мало ли там типы обозначаются по разному и гораздо лучше выбрать C#. (но на него нет бесплатного курса)
  • Вопрос задан
  • 365 просмотров
Решения вопроса 5
xez
@xez Куратор тега Java
TL Junior Roo
Странная идея вообще учить язык А или Б для того чтобы понять язык В.
Учите TS чтобы понимать TS, учите C# чтобы понимать C#.
Ответ написан
Комментировать
У TS типизация структурная и там есть алгебраические типы данных, а у C#/Java номинативная и алгебраических типов данных нет (upd: хотя вроде в жаве есть enum class)
Ответ написан
Alexandroppolus
@Alexandroppolus
кодир
Учить TS по курсам Java/C# неправильно. Да, у них есть пересечения (например, в классах), но в целом семантика и философия весьма отличается.

Если ты уже писал код и не совсем новичок, то курсы не нужны. Сначала постигни фундамент - JS, чтобы понять что к чему.
https://learn.javascript.ru/ - вот тут.

Потом, усвоив и попрактиковавшись, можно обмазывать это дело типами. Всё необходимое есть в https://www.typescriptlang.org/docs/handbook/intro.html - по этому материалу ты в максимально короткие сроки научишься типизировать.
Два стартовых поинта:
1) TS - это только проверка типов, а не что-то рантаймовое (никакого рефлекшена, как в C#, нет).
2) всегда можно и нужно обойтись без any.
Ответ написан
Комментировать
Jacen11
@Jacen11
учить Java или C# для понимания фундаментальных основ TS
а английский вы так учили через изучение итальянского? а русский изучили через какой язык?

Начиная работать с TS многие вещи непонятны за что его так любят.
ну поработаешь поймешь, с опытом на больших проектах приходит понимание. Маленькие одноразовые проекты можно лепить с нарушением всех правил и даже будет работать, хоть все переменные называй только буквами из алфавита. Их не нужно поддерживать, постоянно переделывать, все делал сам. А вот когда нужно найти строку с багом в миллионах строк, написанных сотнями людей, которые уже давно ушли, тогда поймешь зачем все эти правила и ограничения
Ответ написан
Комментировать
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
в корне не верная мотивация. при этом учить более одного языка полезно. но только при условии вдумчивого изучения именно различий. тогда это реально помогает оценить достоинства и недостатки каждого из изучаемых языков. но не наоборот - попытка сходные моменты принимать за правило, скорее чревата последующими граблями.

ps перечисленные языки, при попытке кодирования простейших примеров, могут показаться очень похожими. но это и есть подвох.
что бы прочувствовать различия, стоит дорасти до решения не совсем тривиальных задач, что бы пришлось использовать козыри языков и прочувствовать различия.
в данном наборе не все так просто - если шарп и ява могут сражаться на одном поле (консоль, десктоп), то ТС живет браузере. ну или если только в ноде?... в общем изначальная мотивация так себе
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы