LINUX.ORG.RU
ФорумTalks

Apple (c) Swift - быстрый и низкоуровневый

 , ,


0

1

В одной видеолекции с курсеры лектор сказал, что в последнее время появились довольно низкоуровневые и быстрые type-safe языки, и в их числе он упомянул Swift. http://i.imgur.com/O0y6EUK.png Но я то про свифт что-то слышал год назад, и слышал, что он медленнее питона, вобрал в себя почти все существующие абстракции и позволяет использовать юникодные символы в названиях переменных. И как он может при этом быть быстрым? Он вообще компилируемый? Как он может быть быстрым и низкоуровневым со всеми существующими ништяками?

Это я о нем ничего не знаю, или автор курса услышал что-то про него и впихнул его в этот списочек просто так?

То есть Go в этом списке тебя не смущает, а Swift смущает?
Да, Swift компилируемый.

Kaschenko ()
Ответ на: комментарий от Kaschenko

Да я знаю, что Go вообще ни разу не замена C и расту. Но говорят, что Go быстрый и простой - не вижу причин, почему он не мог бы использоваться там, где часто используется C++.

hlebushek ()

написано же «provide similar features». про скорость ни слова. насчет медленнее питона — это ты погорячился. это разве что php, и то я не уверен.

waker ★★★★★ ()
Ответ на: комментарий от umren

В похожести.

Например по-моему javascript похож на python, C# очень похож на джаву, но побыстрее и абстракциями побогаче. На C++ ничего из того, что я знаю, не похоже.

hlebushek ()
Ответ на: комментарий от waker

Написано «These languages may be the future of low-level programming».

А про Swift я слышал, что он на какой-то простенькой программе был в 1000 раз медленнее питона, потому что какую-то там функцию forEach завезли, а оптимизацию компилятора, разворачивающую ее в быстрый код - нет.

hlebushek ()
Ответ на: комментарий от hlebushek

Написано «These languages may be the future of low-level programming».

у всех людей разное понимание что такое low-level.

А про Swift я слышал, что он на какой-то простенькой программе был в 1000 раз медленнее питона, потому что какую-то там функцию forEach завезли, а оптимизацию компилятора, разворачивающую ее в быстрый код - нет.

медленность питона стремится к бесконечности. так что хоть на 1000000 умножай, не поможет.

waker ★★★★★ ()
Ответ на: комментарий от hlebushek

Например по-моему javascript похож на python

ты либо js не видел, либо питон. чем это они похожи?

C# очень похож на джаву, но побыстрее и абстракциями побогаче.

согласен

На C++ ничего из того, что я знаю, не похоже.

все те же жаба и C# частично (сильно) с крестов слизаны.

точнее, жаба с крестов, а C# с жабы.

waker ★★★★★ ()
Ответ на: комментарий от Kaschenko

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

hlebushek ()
Последнее исправление: hlebushek (всего исправлений: 1)

позволяет использовать юникодные символы в названиях переменных

как это связано с

И как он может при этом быть быстрым?

hateyoufeel ★★★★★ ()
Ответ на: комментарий от hateyoufeel

Никак, я это просто так дописал как забавную странность.

hlebushek ()
Ответ на: комментарий от hlebushek

А еще можно присваивать объектам свойства просто так, любые, любым объектам. Ну и ни там ни там нет энкапсуляции. Точнее в питоне ее вообще нет, а есть лишь договор, что чужие переменные, начинающиеся с нижнего подчеркивания, не трогаем, и язык их не будет по умолчанию импортировать звездочкой, а в джаваскрипте энкапсулировать можно лишь хитырми ухищрениями, спрятав внутренности в замыканиях, насколько я знаю. Хотя возможно мои знания устарели, и в каком-нибудь ecmascript N ввели сахарок?

hlebushek ()

Он вообще компилируемый?

$ swiftc -emit-assembly test.swift
	.section	__TEXT,__text,regular,pure_instructions
	.macosx_version_min 10, 11
	.globl	_main
	.align	4, 0x90
_main:
	.cfi_startproc
	pushq	%rbp
	...
Deleted ()

лектор сказал, что в последнее время появились довольно низкоуровневые и быстрые type-safe языки

Ada используется аж с 1983 года. Низкоуровневый, быстрый и ооочень type-safe язык.

dimss ★★★★★ ()
Ответ на: комментарий от hlebushek

так оно и есть лоу-левел. В том же смысле, в котором javascript

stevejobs ★★★☆☆ ()
Ответ на: комментарий от hlebushek

Современные уеб-девелоперы любят его обмазывать всяким говном, заканчивающимся на .js Поэтому для них он уже вполне лоулевел.

Kosyak ★★★★ ()
Ответ на: комментарий от hlebushek

джаваскрипт - это ассемблер виртуальной машины js. Примерно то же самое, что машинный код для реальной машины. В джаваскрипт компилируются другие языки (такие как С++ (https://github.com/kripken/emscripten), Scala, Clojure, тысячи их). Ничего локлуевельней js на этой платформе не бывает, сразу после js идет машинный код реального процессора.

stevejobs ★★★☆☆ ()
Ответ на: комментарий от hlebushek

и слово «лоулевельный» тут выбрано со смыслом, потому что JS реально слишком лоулевельный, чтобы писать на нем самостоятельно. Так же как никто больше не пишет на ассемблере и си, скоро не будут писать и на JS - всё будет компилироваться в него.

stevejobs ★★★☆☆ ()
Ответ на: комментарий от stevejobs

Так же как никто больше не пишет на ассемблере и си, скоро не будут писать и на JS - всё будет компилироваться в него.

Бред. На джаваскрипте пишут и будут писать. Он вполне нормальный язык, только в стандартной библиотеке маловато сахарка.

hlebushek ()
Ответ на: комментарий от hlebushek

также говорили фанбои ассемблеров, продвинутых ассемблеров, си... и вот их больше нет. Добро пожаловать в новый мир! Дважды новый мир.

stevejobs ★★★☆☆ ()

go, swift
future of low level programming

Поржал от души. Swift конечно няша, но место ему на аплодевайсах с топовыми армами и гигами памяти, а не в low level.

unt1tled ★★★★ ()

Столько веселых фигней в одном треде:

1) Свифт низкоуровневый.... Мда. А Objectove-C тогда какой. Вы чем уровни меряете?

2) Свифт «быстрее»/«медленнее» Python. У нас давно есть официальная реализация Python под айфоны. Да и вообще какого Python он быстрее или медленее? PyPy, CPython, Jython, или еще какого IronPython?

3) Как Юникодные символы относятся к скорости? Названия идентификаторов только для людей. Потом это просто адрес переменной.

И собственно что автор называет type-safe «a»+3 и на Python не пройдет. Статические анализаторы есть давно.

dmxrand ()

И про JS доставило. С какой стати он низкоуровневый? Ты там о памяти не думаешь.... Да и для того чтоб asm.js запилить потребовалось несколько лет ковырять и интерпретатор и придумывать как это все в язык впихнуть. Запусти его на каком нибудь нетскейпе.

dmxrand ()
Ответ на: комментарий от dmxrand

Да и вообще какого Python он быстрее или медленее? PyPy, CPython, Jython, или еще какого IronPython?

Обычный Python. Не pypy, потому что фичи разные в нем не работают, и не прочая хренотень.

И собственно что автор называет type-safe «a»+3 и на Python не пройдет.

Он говорит, что Python, Haskell, Java, OCaml, Rust - type-safe.

hlebushek ()
Ответ на: комментарий от dimss

Ada используется аж с 1983 года. Низкоуровневый, быстрый и ооочень type-safe язык.

тоже недоумеваю, почему он не получил широкого распостранения

unt1tled ★★★★ ()
Ответ на: комментарий от unt1tled

Там мутная история. Вкратце милитари сильно его курировали..... А кто у нас двигал прогресс? МИТ. Ну вот и гляди.

Собственно зачем Эппл замутил Свифт? А МС C#?

Ответ тут

dmxrand ()
Ответ на: комментарий от hlebushek

Но говорят, что Go быстрый и простой - не вижу причин, почему он не мог бы использоваться там, где часто используется C++.

Он там и используется, сервера на си++ можно выкидывать и засовывать туда Go.

umren ★★★★★ ()
Ответ на: комментарий от hlebushek

javascript похож на python

Совсем нет.

Прототипы vs классы.

Weak vs Strong typing.

Бедная стдлиб vs богатая.

Силайк синтаксис vs отступы.

Отсутствие неймспейсов vs package'ы.

Нуитд.

umren ★★★★★ ()
Ответ на: комментарий от hlebushek

А про Swift я слышал, что он на какой-то простенькой программе был в 1000 раз медленнее питона

Это может в день релиза пока он был кривой, а так там скорость на уровне Objective-C.

umren ★★★★★ ()
Ответ на: комментарий от stevejobs

потому что JS реально слишком лоулевельный, чтобы писать на нем самостоятельно

too much.

сходи глянь на babel.

umren ★★★★★ ()
Ответ на: комментарий от unt1tled

Поржал от души. Swift конечно няша, но место ему на аплодевайсах с топовыми армами и гигами памяти, а не в low level.

Low-Level понятие растяжимое, софт который работает рилтайме это лоу лвл? Swift может.

umren ★★★★★ ()
Ответ на: комментарий от dmxrand

PyPy

2.7 и 3.2 частично поддерживает, okay

CPython

slow, gil

Jython

slow, half dead

IronPython?

slow, half dead

umren ★★★★★ ()
Ответ на: комментарий от umren

Вот чего вам этот ГИЛ дался? Берем среднестатистический сервер. Берем стандартные задачи и вдруг выясняется, что на Python они великолепно не упираются в ГИЛ. Ну не порождай кучу потоков если тебе надо нагрузка подними пулл процессов. Используй очереди сообщений. Не делай все в лоб. Я ведь не зря про VBA спросил. Даже тот, же JS взять. Вот пример который спросила девочка: взять 2 массива, объединить отсортировать. (a+b).unique().sort() Ну задачи разные. И все это знают.

Не надо сравнивать свифт и Python. Два разных языка с разными целями.

dmxrand ()
Ответ на: комментарий от dmxrand

Не знаю. VBA - мертвый не нужный язык, про него никаких статей уже в интернете не пишут.

hlebushek ()
Ответ на: комментарий от dmxrand

Не надо сравнивать свифт и Python. Два разных языка с разными целями.

Так я не сравниваю. Python и Swift им вообще сравниваться вместе не светит, если только по «лаконичности». А так они совсем разные и на разных платформах живут.

umren ★★★★★ ()
Ответ на: комментарий от hlebushek

VBA - мертвый не нужный язык, про него никаких статей уже в интернете не пишут.

Lowut? На твоём локалхосте точно не пишут.

Oxdeadbeef ★★★ ()

По итогам треда - КГ\АМ :)

robot12 ★★★★★ ()
Ответ на: комментарий от hlebushek

Все выполняется совершенно динамически

Нет. Что там, что там — компиляция в код для виртуальной машины.

и там и там есть прототипное наследование

Нет

питон ощущается как улучшенный javascript

Этот наркоман сломался, вносите нового

buddhist ★★★★★ ()
Ответ на: комментарий от umren

было подумал, что прочитал бред, потом вспомнил, что на ЛОРе и расслабился

unt1tled ★★★★ ()
Ответ на: комментарий от hlebushek

Проблема не в статьях. Дело в том, что на нем ежедневно софта пишут больше раз в 10 чем выводится из продакшена.

dmxrand ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.