Swift vs C#


11 0

Сейчас с семьёй едем в Орландо в Disney World, а пока жена сидит за рулём, я решил сравнить Swift и C#. 

Меня как-то уже спрашивали несколько раз об этом сравнении, последний раз, когда я сравнил Java и .NET. В случае с Java и .NET - это целые платформы с большим количеством возможностей. При сравнении Swift и C# мы сравниваем всего лишь языки и тут можно сравнить только синтаксис. Возможности в основном зависят от того, под какую платформу пишется код. 

Swift достаточно молодой язык и создавался явно для мобильной и десктопной платформ  Apple и пока именно здесь он используется, хотя я слышал о желании сделать Swift доступным для других платформ. Не знаю, произошло это или нет.

На C# можно писать н только под Windows, но и под почти все доступные платформы, включая PlayStation Vita (на счёт PS4 не знаю) и популярный сейчас Web. 

Но если говорить о самом синтаксисе, то мне Swift нравится чуть больше. Он интереснее и для меня что-то новое. Возможно, что как раз новизна и притягивает. Синтаксис простой, удобный, знакомый (Си подобный) и при этом все равно свежий. 

Но вот C#, все же обладает большим количеством приятных фишек и бирюлек. Если говорить о мощи, то по функционалу C# просто разрывает Swift в клочья. Тут даже и сравнивать особо нечего. Но если говорить о красоте кода, то мне почему-то нравится Swift. Это уже лишнее предпочтение. Меня начали бесить точки с запятой и без них мне код нравится больше. Он чище, естественнее, красивее. Но это моё личное ощущение. Если кому-то нравится академичность, то скорей всего вы предпочтете C#. 


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

fcoder

25 Марта 2016

Что думаешь по поводу перспектив? Может стоит рассмотреть NodeJS в качестве запасного аэродрома?


Сергей

26 Марта 2016

Ну, по крайней мере, точки с запятой есть и в Паскале/Delphi, и в C/C++, и в Java/JS, и в Аде, и даже в PHP. Не сомневаюсь, что они есть и в некоторых других языках программирования. И меня точки с запятой в конце каждой строки никоим образом не бесят.
И всё-таки. Если в Swift'е каждая инструкция не обязана завершаться точкой с запятой, то, наверное, нет возможности писать инструкции на нескольких строках? В противном случае как же парсер определяет конец одной инструкции и начало другой?


Алексей

26 Марта 2016

Михаил, а какая распространенность в Канаде у классических приложений Windows по сравнению с классическими оконными? Можете написать статью-обзор про плюсы и минусы тех и других?)


Михаил Фленов

26 Марта 2016

Что думаешь по поводу перспектив? Может стоит рассмотреть NodeJS в качестве запасного аэродрома


Перспективы - у .NET выглядят лучше, он более распространенный и у него шире возможности. У Swift применение пока ограничено и как это будет в будущем - неясно. Но NodeJS я бы не рассматривал в качестве запасного даже на случай апокалипсиса. Мое мнение - он не будет популярен.

Михаил, а какая распространенность в Канаде у классических приложений Windows по сравнению с классическими оконными?


В Канаде сейчас почти все под Web и классические приложения встречаются очень редко.

Если в Swift'е каждая инструкция не обязана завершаться точкой с запятой, то, наверное, нет возможности писать инструкции на нескольких строках?


Если тебе нужно написать инструкцию на несколько строк, то можешь использовать точки с запятой и все работает. Но это нужно только если это Linq инструкция, которые по своей природе длинные и не поддерживаются в Swift или ты слишком перегрузил строку кода. У меня может быть только 1% (наверно даже меньше) кода более, чем на одну строку. Код должен быть простым и читаемым.


Антон

27 Марта 2016

Михаил, а что вы думаете по поводу Xamarin? Просто есть огромное желание писать под iOS, но сам являюсь .NET разработчиком. Так что сложно определить, каким путем пойти выгоднее - путем Swift-а или путем C#/Xamarin.


Михаил Фленов

27 Марта 2016

Я предпочитаю использовать инструмент по назначению. Для платформ Apple нужно использовать Swift, для Windows лучше использовать .NET. Xamarin я пробовал давно, мне не понравилось. Я знаю, он стал лучше, но я все же предпочитаю Swift


Николай

28 Марта 2016

Полтора года назад проходил собеседование в продуктовой компании (свои приложения в топе эппСтора). Когда спросил на чем пишут, свифте или обжективе, сказали, что ни тот, ни другой не дает полной кроссплатформенности и все приходится на плюсах писать. После такого, показалось, что у свифта нет серьёзных перспектив - только как сахар для простых приложений-визиток.


Алексей

28 Марта 2016

Михаил, а каким антивирусом пользуются в Канаде в корпоративном секторе/на домашних компах.


Михаил Фленов

28 Марта 2016

Чаще встречал McAfee. Сейчас на работе стоит Cylance, о котором я раньше и не слышал никогда.


Александр

28 Июня 2016

Здравствуй, Михаил. Подскажи, пожалуйста, вот ты говоришь, что C# очень популярен, и по-мойму, ты говорил, что веб-разработка на ASP.NET тоже популярна на западе. Мне лично самому C# нравится, веб-разработка на ASP.NET тоже. Но меня все же смущает, что сайты ASP.NET работаю под Windows. Да, сейчас платформа .net уже переезжает на другие ОС, также есть .net native, это все круто, но уж слишком,чтобы быть стабильным и безопасным. Как ты считаешь?
Мне не нравятся два момента:
1) Windows как сервеная система для нагруженного сайта выглядит сомнительно;
2) Windows популярна, потому любима вирусами до сих пор;
3) Windows, по личному опыту, бывает, ни с того, ни с сего, может просто слететь, может temp-файлов нахирячить столько, что не отчистишь
Разве можно, исходя из этих параметров, делать высоконагруженный платежный сервис, например Webmoney?

Также есть вопросик, может быть ты знаешь или слышал, на каких ОС работает сайт webmoney. Понятное дело, что такого размеров сайт, врядли будет использовать только только Windows или только Linux. По крайней мере, странички сайта реализованы на asp. Исходя из этого, вообще не пойму..вроде как винда не безопасна, а используется в webmoney в качестве фундамента бизнеса.

P.S.: я могу по поводу вебмани ошибаться, но мне просто нужно твое авторитетное мнение - можно ли использовать винду для сайта и как устроен сайт вебмани. спасибо)


Александр

28 Июня 2016

Михаил, сделай книгу "Библия Swift"!!!!!
Уверен, у тебя это получится много лучше, чем у кого бы то ни было.


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне