LINUX.ORG.RU

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

 apache license, , , ,


1

5

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

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

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

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

★★★★★

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

Ответ на: комментарий от I-Love-Microsoft

Да где уж тут... Эти глупые потуги анонимов типа потроллить уже в печенках сидят. Куча макак набежало, вообще не в теме про язык, но алчно хотят вычислить заднеприводных и видимо их покарать анально.

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

Т.е. с твоей точки зрения на гитхабе сидят бесполезные хомячки? А ты вот такой полезный комментатор на лоре?)

menangen ★★★★★
()

Я упустил момент, когда стало можно под люникс на нем писать? А в чем уже можно нормально (с автодополнением и плюшками) это делать?

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

Потому что Apple выпускают законченные и работоспособные решения.

А отсутствие фич и баги - это норма. Эплофаны такие эплофаны.

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

кококо обезьянки

Не, обезьянка тут ты. Семейство борщехлебающих, инкрементоилитка обыкновенная.

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

Такой полет сознания, ради интереса хотя бы гайд по языку глянул, что бы такую чушь не писать, ради себя хотя бы.

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

Кто первый добавит язык в Qt Creator

Звучит как «кто первый для меня добавит». Ты и добавь.

Кроссплатформенный GUI? Вы что, все пишете софт, в котором кроме GUI ничего нет?

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

анонимуса рвет пердак

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

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

Куча макак набежало, вообще не в теме про язык, но алчно хотят вычислить заднеприводных

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

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

Нормальные ребята за лойсами на гоняются и лойсый не ставят. Это позерская замануха.
Что до меня, то не суть кто я и чем занимаюсь, хоть на лоре комментатор, хоть бомжара. Сути это не менят, как моей так и гитхаба ;)))

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

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

В итоге уровень поддержки рантайма у них примерно как поддержка у Java и Scala для JVM. Оба языка генерят байткод JVM, но уровень поддержки этих языков внутри JVM - небо и земля. Поэтому Swift - это мейнстрим в списке убивцев С++, а Rust претендует лишь на «не такой как все с хитрыми фичами, медленным компилером и неродным рантаймом».

Apple могла подпортить ситуацию открыв Swift под какой-нибудь анальной лицензией. Но мы имеем Apache + contributions without CLA (у всех контрибуторов права на язык точно такие же как у Apple) - это победа.

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

но мне очень не нравятся его сигнатуры функций, в Swift они сделаны значительно лучше

Может я куда-то не туда смотрю, но в чём принципиальная разница?

func f(x: Int, y: Int) -> Int
fn f(x: i32, y: i32) -> i32

type inference лучше чем в Rust.

Можно несколько примеров?

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

Может я куда-то не туда смотрю, но в чём принципиальная разница?

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

Можно несколько примеров?

Посмотри объявление сложных или вложенных структур, сравни.

umren ★★★★★
()

О да, прекрасный язык от богов из яблока всех поборет. Язык, в котором во втором десятилетии XXI века ARC вместо GC, для того, чтобы обеспечить совместимость с никому не нужным, кроме самих заднеприводных, Obj-C. С убогой системой типов. Без встроенной поддержки канкаренси - ни фьючу присунуть, ни промис, и что делать с этим языком, когда нет GCD? Без иммутабельных структур данных. Да, да, гошечка и раст дрожат в страхе перед таким конкуретном. А скала с кложурой обняли эрланг и шарп и молятся.

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

которые пишут LLVM

А оно кроме аппла и FreeBSD применяется где-то? Куда не сунься везде заточка под gcc(mingw)/VS. 90% десктопов - это оффтопик, сервера - онтопик. Что, реально кто-то в здравом уме кинется писать под винду, например, на свифте? тащить ллвм вместе со всем геморроем, если можно взять MSSDK бесплатно и без смс или отточенный и вылизанный годами мингв?

А потом после написания поделки, вдруг, кто-то решит «э, а чоб не взять и не написать ее снова, но на свифте, а?».

так что под оффтопик писать на свифте будут только в том случае, если что-то тащить с макоси будут. а такие случаи достаточно редки, обычно картина обратная. Даже игрульки и те на крестах под iOS пишут, лол.

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

Как можно рассуждать о том что не пробовал, вы попробуйте может понравиться, ведь как говориться «один раз, не ...». Х)

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

Тот самый момент, когда из-за нехватки запятых у тебя получается забавное предложение:

что когда-нибудь в, Этой Стране школьников, будут учить программировать на Swift.

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

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

если что-то тащить с макси будут

или с ios.

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

Не обобщай MIT и GPL. MIT подразумевает, что ты волен использовать код программы в любых своих проектах, только авторство кода не забывай, можешь хоть закрывать. Это свобода. А GPL не позволяет этого. Это не свобода, а насаждаемые манеры поведения. То же самое: сказал ребенок в глубоко религиозной семье, что он не хочет верить в эту ересь, а ему пиздюлей навешали.

И проприетарные лицензии не подразумевают того, что ты написал. Только в случае, когда это явно оговорено или установлена защита против распространения не разработчиками.

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

Звучит как «кто первый для меня добавит». Ты и добавь.

Это правильно звучит, я это и подразумевал. Мне язык без GUI тупо не нужен. Быть может я слишком фанатею от Qt...

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от anonymous

Речь шла о сравнении с Rust, который очень похож на Swift в части использования LLVM.

О самом LLVM - его еще например официальный (не ксамаринный) C# использует под онтопиком.

Про вылизанный мингв - я надеюсь что ты траллируешь. Все большие проекты (Python, Postgres, OpenJDK) плачут, но едят кактус MSVC под оффтопик, потому что мингв - это багодром.

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

А что не так? В Расте тоже есть референс-каунтеры, чеки с большой вероятностью будут elided ниже по стеку (на уровне кодогенерации), в Расте компилер тоже шибко умный и например решает передавать объект по значению или по ссылке.

Разумеется соответствие не 1-в-1, языки то разные, но наркоманства тут не видно.

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

Про вылизанный мингв - я надеюсь что ты траллируешь.

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

Все большие проекты ... Postgres,

Давай ты мне расскажешь больше об этом.

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

В Расте тоже есть референс-каунтеры

Как отдельный тип данных, а не на уровне рантайма.

чеки с большой вероятностью будут elided

Как? Тем более, overflow check?

В Расте компилер тоже шибко умный и например решает передавать объект по значению или по ссылке

Ну так гони пример, я такого не видел.

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

Тут вообще запятые ставились человеком с тремором. Варианты могли быть такими:

Что когда-нибудь, в этой стране школьников, будут учить программировать на Swift.
Существует «эта» страна школьников, существует ещё «та». В «этой» когда-нибудь будут учить программировать на Swift.

Что когда-нибудь, в Этой Стране Школьников, будут учить программировать на Swift.
Эта Страна Школьников - название чего-либо. Например, школы.

Что когда-нибудь в Этой Стране школьников будут учить программированию на Swift.
Отсылка к родине автора, например России.

Это не наезд. Я даже сомневаюсь в правильности последнего варианта. Никогда не любил гуманитарные предметы, да и в школу уже годика три не ходил. Жаль.

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

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

Именно.

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

MIT подразумевает, что ты волен использовать код программы в любых своих проектах, только авторство кода не забывай

GPL подразумевает то же самое. Что и говорит о том, что это свободная лицензия.

А GPL не позволяет этого.

GPL-код тоже можно использовать в своих проектах.

Это не свобода, а насаждаемые манеры поведения.

В некотором смысле да, GPL помогает защитить пользователей от неэтичного поведения. Но это как раз и хорошо. Если бы не GPL, пользователи не были бы защищены от произвола проприетарщиков так, как они защищены сейчас. К сожалению, эта защита ещё недостаточная, так как в идеале следовало бы изменить законодательство таким образом, чтобы всем пользователям ПО гарантировались четыре свободы.

А вот проприетарный код в своих свободных проектах использовать нельзя. Поэтому проприетарные лицензии неэтичны.

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

А как у свифт с многопоточностью, что актуально в свете новых реалий? В го есть простая и производительная многопоточность, в раст детект race conditions на стадии компиляции, а свифт что?

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

конечно же всем понятно, что ты жырно тролишь, но, ради справедливости, хочется заметить, что:

Apple захотели сделать удобный браузер, вуаля — на обломках KDE'шного KHTML и KJS вырос

что не мешает Safari оставаться беспросветным УГ.

Apple захотели сделать хороший компилятор, вуаля — LLVM/Clang шагает по планете.

Яббле - перекупщик-упаковщик технологии. Процент своих наработок там стремится к 0.

Apple выпускают законченные и работоспособные решения.

Если под «Apple выпускают» подразумевается купить что-то перспективное, перепаковать в блестящущ обертку, продать с выгодой и выкинуть, когда появится новое перспективное решение - то все верно.

Вменяемого файл манагера у Яббла как не было так и нет, GUI убог, вменяемой поддержки OpenGL- нет, Metal- мертворожден; как и ObjectivC, Swift - поделие на несколько лет, после чего выкинут, ибо сиюминутно, без запаса на будущее, и да, могут себе позволить. Перефразируя девиз Яббла - «главное чтобы хоть как-то работало здесь и сейчас».

Яббле - это барыга-перекупщик для 5 процентов метересексуалов. Однако с деньгами, чувством прекрасного и отсутствием мозга. За что Яббле и любим.

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

llvm же.

Не понял. Как в си (clang), который на llvm? От языка много зависит.

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

По сравнению в llvm на оффтопике

Эскобар.txt

Давай ты мне расскажешь больше об этом.

Давай, я правда Postgres на офтопике несколько лет не смотрел, неужели они перелезли на мингв? Или ты сомневаешься что Postgres - большой проект?

А про Python и OpenJDK что тебе рассказать? Как в OpenJDK всю сборку VM под оффтопик написали в свое время на NMake и от этого куча проблем? Или что в top-level configure скрипте там оче много логики специально под MSVC и он все равно работает с MSVC через пень-колоду (precompiled headers, ccache и прочие грабли).

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

чеки с большой вероятностью будут elided

Как? Тем более, overflow check?

Computer science в помощь, в JVM вон элайдят даже небо, даже аллаха, значит и в LLVM смогут, рантайм то их собственный, добавить фичу специально для свифта не будет проблемой.

В Расте компилер тоже шибко умный и например решает передавать объект по значению или по ссылке

Ну так гони пример, я такого не видел.

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

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

А какой запас на будущее тебе нужен в ЯП?

тот, который обеспечит максимальный цикл существовяния. Чтобы не скакать за коротким долларом с одного недоязычка на другой и не забивать голову ерундой. А вы таки против?

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

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

Я пишу хелворды на расте и читаю Клабника на реддите. Нет там такого.

Короче, на системный язык свифт не тянет -> прямым конкурентом расту не является. Будешь спорить?

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

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

И какой-же это из относительно новых?

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

А вы таки против?

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

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

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

Лайфтаймы - это понятно. А прочее - это что?

Посмотри объявление сложных или вложенных структур, сравни.

Дык, я Swift не знаю, думал у тебя есть примеры. Речь же о выводе типов.

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