LINUX.ORG.RU

Apple открыла исходный код Swift

 apache license, , , ,


1

5

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

Исходный код доступен под лицензией Apache License 2.0.

Репозиторий на GitHub

>>> Подробности

★★★★★

Проверено: beastie ()
Последнее исправление: cetjs2 (всего исправлений: 3)

Ответ на: комментарий от madjestic

Чтобы не скакать за коротким долларом с одного недоязычка на другой и не забивать голову ерундой

Нихера ты в бизнесе не понимаешь. Новый недоязычок - это сотни презентах, сотни маркетолухов, сотни новых книг по этому недоязычку, сотни новых адептов и немного старых, которые еще вчера скакали в экстазе от прогшлого недоязычка. Комьюнити крутиться, срётся, долларя капает, что еще надо торговцам?

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

М, вот это разве не оно: «Rust apparently already uses pass-by-reference behind the scenes for non-floating point, larger than pointer types» (https://internals.rust-lang.org/t/why-do-i-have-to-indicate-pass-by-simple-re...), я в детали описанного не лез, но сложилось впечатление что в некоторых случаях компилер в расте сам решает, как параметры в функцию передать (если это логику кода не меняет).

Про конкурренцию и низкоуровневость - интересно, можешь привести пример чего-то полезного, что легко делается в расте и сложно/никак в свифте, интересно попробовать примеры.

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

почемуто подумал что ты про плюсы О_о...

ii8_ ★★★★
()

Непонятно зачем тогда было закрывать. Типа никому не нужно...

«Если не хотят покупать, значит нужно отдавать даром»

anonymous
()

Это та лицензия под которой требуется уведомлять «оригинатора» об использовании?

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

можешь привести пример чего-то полезного, что легко делается в расте и сложно/никак в свифте

Ядра ОС и прошивки для микроконтроллеров. Правда, насчёт легко это преувеличение, для МК чувствуется недостаток инфраструктуры, да и компиляется он пока только под ARM, надеюсь, это изменится. Суть в том, что раст позволяет явно контролировать выделение памяти и при желании писать код, юзая только стек. Ну и плюс «тонкий» рантайм.

Rust apparently already uses pass-by-reference behind the scenes for non-floating point, larger than pointer types

И правильно делает. Это простая оптимизация, в бол-ве случаев ускорит код и не требует никаких фич рантайма.

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

но разработчики Swift имеют возможность делать вот такие например штуки (http://llvm.org/devmtg/2015-10/slides/GroffLattner-SILHighLevelIR.pdf), а разработчики Rust - нет.

Это ещё почему? Pазработчики раста свой IR тоже пилят.

Поэтому Swift - это мейнстрим в списке убивцев С++

Мейнстрим - да, убийца С++ - нет.

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

А вот этого я и не знал. Большое спасибо за ссылку.

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

Норм должно быть. llvm же.

Чего? Если брейнфак реализовать на ллвм, то там автоматически станет хорошая многопоточноcть?

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

Пестов (factor)

Капец открытому Swift. Впрочем, и хрен с ним.

tailgunner ★★★★★
()

Поставил, ну и плагин swift в sublime text - до Xcode не дотягивает, но вполне фапабельно.

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

Rust - прямой конкуррент, и проигрывает Swift начисто. Главная причина - над Swift работают люди, которые пишут LLVM, а над Rust - нет.

Ну, если это главная причина, то Swift беспокоиться не о чем.

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

Ссылка на лурк. Я даже успел забыть, что мне провайдер что-то ограничивает. Интересно, фильтрует ли Google мою поисковую выдачу по законом РФ? (не по теме)

https://opensource.org/licenses/GPL-3.0
Ссылка на текст лицензии.
Пункт 6: Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:...
Т.е. распространять свои разработки я могу, если передаю исходники.

https://opensource.org/licenses/GPL-2.0
Ссылка на текст лицензии.
You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

Тоже ведь подразумевается, что я обязан передавать исходники.

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

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

«Этичное» поведение как закон - гнилая идея.
Вон, нашим законодателям похоже митинги, стачки и т.п. кажутся неэтичным: вон, как весело гнобят дальнобойщиков в стране.

Мне нравится LGPL, которая требует держать общую базу (инструменты, библиотеки и т.д.) открытыми, а при закрытии твоего кода тебе надо лишь распространять изменения (если есть) в общем инструменте.

Deleted
()
Последнее исправление: merhalak (всего исправлений: 2)

А смогу ли я со временем с питона перейти на него?

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

«Этичное» поведение как закон - гнилая идея.

То есть, нужно отменить все законы, запрещающие неэтичное поведение? В том числе весь УК?

Свобода - это не когда тебя бьют по рукам, когда ты использовал маленькую, по сравнению с твоим проектом библиотеку под GPLv3

Никто тебя бить по рукам не будет, если твой проект свободный.

либо открывать свою базу исходников.

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

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от Deleted

Увы LGPL подразумевает неизменность лицензии, а каждого просить передать код дополнительные расходы. Но если сообщество захочет перелицензировать Swift под LGPL то они это смогут сделать.

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

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

Далее переход на личности (это может быть тебе неприятно).
Смотри, ты указываешь мне, как я должен жить.
Может ты будешь не против, если я тебе «укажу» «помыть» руки в дерьме, перед тем, как сесть за стол?

Забавная вещь: спеллчекер подчеркнул слово «проприетарных». В общем, как и себя.

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

Да, я знаю про неизменность лицензии LGPL. Тут всё же больше вариантов действий. Можно воспользоваться и затем написать аналог под более выгодой лицензией, если (экономически) расходы на передачу кода менее выгодны, чем написание закрытого/либерального аналога.

Deleted
()
Последнее исправление: merhalak (всего исправлений: 1)
Ответ на: комментарий от anonymous

А почему макаки из эпл не взяли тот же Rust или D?

Хороший ТЕХНИЧЕСКИЙ вопрос, на который у огрызочников есть только политический ответ: NIH. :)

Ведь правда, на разработку нового языка нужны _квлифицированные_люди_, которые уже написали по пять компилеров - откуда такие у компании, производящей однокнопочные приложения?? Тот же Ди получил бы неплохой бустер для развития.

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

я обсуждал тему Swift с Александреску (ты тут про D рассуждаешь, слышал о таком?), так вот он очень высокого мнения об его создателях и об инженерной культуре в Эппл. понятно, что проще ничего не знать о реальном положении вещей и кукарекать тут на лоре. но блин как же достало когда обыватели хаят то, о чем ничего не знают. как ты думаешь, сколько сотых доли процента кода, написанного в Эппл — это «однокнопочные приложения» под иос?

val-amart ★★★★★
()
Ответ на: комментарий от Deleted

Ваш оппонент вас не поймет. У него очень странная этическая система, по которой нужно соглашаться с тем, что он считает правильным. Где-то раньше он это даже в законодательство предлагал включить.

Радует то, что его светлое будущее никогда не наступит.

P.S. А вообще я бы таких благодетелей «убивал из рогатки» ©

P.P.S. Сорри за оффтоп.

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

Я бы не отказался от описания тех людей, кто разрабатывал Swift.

А ещё от описания, почему Rust хуже Go (и в чём). У них ведь немного разная область применения, хоть и пересекающаяся.

P.S. Зато llvm есть у LDC.

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

Ну github сделал такие вещи, как список разработчиков проекта, тривиальными - https://github.com/apple/swift/graphs/contributors

Другое дело, если местным «онолитикам» имя Doug Gregor ни о чем не говорит.

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

Синтаксис не такой уродливый + уверенность что Apple его не сломают как Mozilla мой Firefox

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

Целая страна школьников :D

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

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

HFS+, например. Файловую систему хуже и представить сложно.

почитал из любопытства. я не поклонник эппл и уж тем более не оправдываю hfs+ (файлуха, прямо скажем, так себе), однако претензия по ссылке не к ней — а к софтописателям-недоучкам, которые даже не знают про стандартную фичу очень многих файловых систем, в том числе прямого родителя HFS с которой надо было сохранять совместимость — MFS. например, потоки также поддерживаются и используются в файлухах от майкрософт: NTFS и наследнице ReFS. ты можешь сказать «ага! значит posix-файлухи последний оплот благоразумия!», но ты будешь не прав — у нас есть extended attributes которые по смыслу очень похожи, а на некоторых фс просто-таки эквивалентны потокам/форкам: они могут иметь произвольное имя и размер, и даже отдельный набор разрешений в случае с nfsv4. и конечно, большинство свободка-софто-пейсателей точно так же некомпетентны, в результате чего работать с ними не умеют даже файловые менеджеры, не говоря уже про имейл клиентов и тд — точно так же как и в экосистеме эппл.

проблема тут имеет два источника: во-первых, погромисты привыкли полагаться на мягенькие абстракции и не пробуют даже узнать как все устроено на системном уровне, но абстракции как известно текут; во-вторых, это редко используемая, obscure фича, далеко не просто придумать ей правильное применение. Маки — единственная платформа где она более-менее широко используется (если ты не вкурсе, в macos довольно много всего хранится в этих форках, при дефолтной инсталляции у тебя будет полно системных файлов с несколькими стримами).

короче, пример не засчитан. проблемы недоучки-автора блога это его личные половые трудности.

val-amart ★★★★★
()

Что-то я не пойму, чем swift отличается от современного С++. Ну, let x = 10 - это const auto x = 10, да? for name in names - это for (name : names), да? Замыкания и прочее в С++11 есть, ARC - это shared_ptr.

Так в чём его преимущества?

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

Вы видимо плохо знаете кто разрабатывал Swift.

Поведай же нам.

P.S. да, и вот тебе запятых, пользуйся: ,,,,,,,,

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: очередное от anonymous

Вот-вот, его наверное с Golang надо сравнивать, а не с С++. Пайк вроде писал, что Go делали как замену С++, а налетели питонщики, рубисты, хотели МОЩЪ, но чтобы язык как в питоне. Совсем другой язык, не С++ и не Си, работает не так как работает компьютер (а как работает компилятор), поэтому и страдают.

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

Пайк вроде писал, что Go делали как замену С++

Си++ образца 1987 года, наверное. Потому что в 1991 уже были параметризуемые типы.

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

Ну это проблемы Пайка и питонщиков/рубистов которые на это купились. Golang вроде тоже не шарашкина контора спонсирует, кстати.

А в этом свифте-то, чего нового. Вот в С++ например замыкание можно сделать скопировав значение, а можно по ссылке, и это было в 2011 году (5 лет назад), в свифте замкнуть по копии можно или только по ссылке (или наоборот)? Если нельзя, то как дальше жить со знанием того, что иновационный язык уступает не новой ревизии С++?

И что там с многопоточностью, атомарностью, вот этим всем? Что-то я в документации этого не вижу. Не хорошо.

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

УК запрещает не неэтичное поведение, а

Но ведь это поведение в общем случае неэтично, так?

поведение, которое действует строго против интересов общества.

Не «строго», а только в большинстве случаев. Контрпримеры можно легко вспомнить или придумать.

Проприетарные проекты не всегда конфликтуют с интересами общества.

Можешь привести пример, когда бы польза для общества от какой-то несвободной программы была бы выше пользы для общества от точно такой же, но свободной программы? Я такой ситуации представить себе не могу. Да и даже если таки есть, всё равно процент исключений тут будет не больше чем в случае нарушения любых других законов.

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

А зачем такой головняк когда проще опубликовать под Apache? Один хрен Apple паровозит и да в случае чего Apple сможет взять наработки и свалить, это их право они и так немало сделали.

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

А есть нормальный пример, где мне как юзеру придется столкнуться с какими-либо проблемами?

Проблемы быдлокодера из Африки меня интересуют меньше всего на свете)

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

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

На чужом горбу в рай въехать хочешь? Ты свободу с халявой перепутал.

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

Ну, я ж не утверждаю, что открывать надо только под LGPL. С моей точки зрения apache тоже хороша. BSD/MIT были бы идеальны для общества, но не выгодны apple, так что там все ок.

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

Сейчас примеры назвать так просто сложно по одной причине: очень многие проприетарщики стали закручивать гайки. Тем не менее, такие программы, как skype, lotus office, icq и подобные заставили шевелиться разработчиков свободного по, чтобы не оказаться совсем в заднице. Хотя тому же скайпу хорошей свободной альтернативы до сих пор нет. Одни недоделки. XMPP сдох, LibreOffice работает с несколько худшей стабильностью, чем MS Office, хотя и имеет свои плюсы, не спорю.

Проприетарщики следуют интересам людей (исключая монополии, по типу MS), вследствие чего пытаются придумать, что бы еще автоматизировать, чтобы создать себе нишу, иначе бабла им не видать. А где флагманом и родоначальником группы софта является свободное по?

Да, есть сферы, где свободное по «догнало и перегнало», практически выдавив конкурентов. Но это идеи людей прошлого века «догнать и перегнать», свое создать, а не копию - для этого, увы, нужны деньги и раскрутка.

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