Wpis z mikrobloga

mam pytanie do osób z #programie w #swift:

jak wygląda sytuacja używania tego języka poza pisaniem aplikacji dla iOS i OSX? czy są jakieś duże, znane projekty pisane w Swifcie np. multiplatofrm, może coś na backendzie? może jakaś firma się migrowała z innego języka na Swiftwa (ale nie do pisania aplikacji desktopowej / na telefon)?

ciekaw jestem jak to wygląda bo sam język jest dość ciekawy (syntaktycznie) a jest językiem systemowym, jest open source, support na Linuksa jest dość dobry (z tego co czytałem) a na Windows ma być ulepszony w najbliższym czasie.

ja mam wrażenie że jest to język bardzo niszowy i używany praktycznie tylko do pisania aplikacji na systemy Apple. ktoś może naświetlić jak wygląda sytuacja tego języka?
  • 22
  • Odpowiedz
@secret_passenger: Z tego co się orientuję to najpoważniejsze zastosowanie z poza ekosystemu Apple to Swift for TensorFlow od Google. Przy okazji fajny artykuł opowiadający dlaczego zespół Google wybrał właśnie Swifta. Moim zdaniem na ten moment jest to najważniejszy projekt jeśli chodzi o popularyzację Swifta. W zasadzie każdy projekt Machine Learning tego używa, tzn. nie wersji Swift tylko TensorFlow ogólnie, w Pythonie, ale podejrzewam, że jak się Google uda przekonać ludzi,
  • Odpowiedz
@lawicko: dzięki za obszeerną odpowiedź - poczytam sobie w najbliższym tygodniu.

dziwi mnie nieco dlaczego ten język jest tak niepopularny nawet w porównaniu do Rusta, na który jednak jest coraz większy hype i ma bardzo silną społeczność a i projektów w nim jest dość sporo (choć tutaj są narzekania że Rust to głownie blockchain).

Swift pojawił się rok przed Rustem. Składnia chyba prostsza (i bardzo naturalna dla osób ze środowiska Javy/C#).
  • Odpowiedz
@secret_passenger: Myślę, że akurat Apple zrobił najlepsze co mógł, czyli zrobił go open source. Reszta to już kwestia zastosowań, żadna poważna firma nie będzie przepisywać wszystkiego nie mając do tego poważnych powodów. Doskonale widać to na przykładzie TensorFlow, są jasne argumenty, że Swift świetnie nadaje się do tego zastosowanie, jednak może to nie wystarczyć, ponieważ Python w dalszym ciągu jest wystarczający dla większości zastosowań.

Akurat miałem przyjemność pracować z tą technologią,
  • Odpowiedz
@lawicko: coś musiało się jednak nie udać. nie tylko ja sam, ale wiele osób czekało z utęsknieniem na język systemowy (czyli koniecznie kompilowany do kodu natywnego - bez obciążeń w postaci środowiska uruchomieniowego), porównywalnie szybki co C/C++, o nowoczesnej składni, z własnym managerem pakietów a przy tym roziązujący problemy zarządzania pamięcią znane z C/C++. i wydaje się, że Swift (jak i Rust) ma to wszystko.

róznica pomiędzy Swiftem a Rustem jest
  • Odpowiedz
@secret_passenger: sa proby robienia backendu w swifcie, ale raczej nie ma jeszcze zadnego powaznego backendu komercyjnego w swifcie. od niedawna aws wspiera lambde swift, wiec spoko.
mozna go uzywac do skryptow takze, ma calkiem sympatyczna spolecznosc i mocne plecy w postaci apple.
ale historia jest inna niz z rustem, ten zostal stworzony w innym celu niz swift. swift mial w koncu obnizyc poprzeczne i zachecic do wejscia na platfrome apple, a
  • Odpowiedz
@Nadrill: dzięki za ciekawą perspektywę. dla mnie Swift i Rust to nie jest alternatywa 1:1, ale uważam, że Swift miał (ma?) potencjał na stanie się dla świata języków kompilowalnych takim "C#-em". i to w dobrym kontekście. można wiele zarzucać środowisku .net i C#, ale jedno nie ulega wątpliwości jest to język o wielkich możliwościach, mądrze zaprojektowany (wyciągnięto wnioski z Javy) i w dodatku z bardzo "ładną" (nowoczesną) składnią. ma wsparcie dla
  • Odpowiedz
@secret_passenger: zgadza sie, to mialem na mysli piszac o mniejszej ale konkretnej spolecznosci. nie bede ukrywal, ze dla mnie jezyk to narzedzie i nie spedzam setek godzin na rozmyslaniu jak najefektowniej napisac cos za co dostane confetti na CR. z pewnoscia spolecznosc rusta jest bardziej 'skupiona', tj. duzo ludzi dbajacych o rozwoj jezyka i co mozna nim osiagnac. z kolei spolecznosc swifta jest wieksza to na pewno, ale bardziej 'luzna', duzo
  • Odpowiedz
@Nadrill: ja też staram się być pragmatyczny i nie uczestniczę w rozwoju samego Rusta. choć nie przeczę że dla mnie takie języki jak Rust czy Elixir to jest zupełnie nowa jakoś jeśli chodzi o ich otwartość. w Ruście widać szczególnie jak wielki wpływ ma byle Mirek z githuba na kierunek rozwoju języka. w Elixirze jest jednak Jose, który czasem sugeruje że coś mu się nie podoba (np. otwarte zakresy) i tyle.
  • Odpowiedz
@secret_passenger: kumam. ja widze analogie troche jak z samochodem i motorem - 90% uzywa samochodu jako sreodka lokomocji i tyle, grupy fanowskie sa skupione raczej wokol egzotykow i marek. z motocyklem latwiej trafic na pasjonata, bo nie jest to pierwszy wybor jako srodek lokomocji.
we wroclawiu nigdy nie bylo meetupu o swifcie per se, zawsze odnosil sie do iosa/osx, czasem ktos wystepowal z innymi tematami, typu backend(nawet 1 talk byl o
  • Odpowiedz
@Nadrill: ja jestem pewien że była jeszcze jedna grupa, którą założył człowiek będący swego czasu organizatorem spotkań PyWroc (pewne kojarzysz kogo mam na myśli)

ale jak wyglądały te meetupy to nie powiem, bo nigdy nie byłem ;) dopiero jak się dowiedziałem że Apple go otworzyło to coś więcej poczytałem i się zainteresowałem. jednak na razie nie zamierzam bardzie się interesować, bo nie widzę tutaj nakładu pracy na to by stworzyć z
  • Odpowiedz
@secret_passenger: chyba kojarze ( ͡° ͜ʖ ͡°)
nie dziwie sie skad sie to bierze - znam ludzi ktorzy po paru latach klepania tych sraczek w javie 6, erpow i innych potworkach w .necie przerzucaja sie na prologi, elixiry i haskelle zeby odetchnac. ale to sa wrodzone nerdy wrzucone w wir polskich enterpajsow, ja jestem tylko skromnym rzemieslnikiem ktory wejdzie do kanalu jesli trzeba
  • Odpowiedz
@Nadrill: pewnie że są :) znamy się dobrze (organizatorzy - tzn. oni i my). ale dla mnie to zbyt enterprise. ja też nie lubię podejścia "one language to rule them all" - wyznaję podejście "polyglot programming is the key/king" ;) dlaego tak dużą wagę przykładam do tego by wiedzieć gdzie i kiedy czego używać (bo nie wszystko ma sens w każdym przypadku - o czym sporo osób zdaje się zapominać)

dla
  • Odpowiedz
@secret_passenger: o prosze, jak milo.

(mnie zabiła powtarzalność projektów i ciasne umuysły "enterprise architektów". to boli jak się ma architekta z ograniczeniami i bez zrozumienia technologii)


na tym polega enterprise troche - przewidywalnosc, schematy i duze organizacje. nie ma tu miejsca na rumakowanie ( ͡° ͜ʖ ͡°)
tez bym pewnie zgnil w takim otoczeniu, ja wole swoja funkcje wolnego strzelca.
  • Odpowiedz
@Nadrill: mnie przytłacza w enterprise to że tam do podjęcia decyzji jest tak daleka droga. po drodze pół seetki dupochronów, każdy się boi podjąć decyzji a znowu komuś ważnemu to "szkoda głowy zawracać" no i "przecież działą".

nie tak znowu dawno temu pracowałem dla wielkiego enterpise (250k pracowników na świecie - we wszystkich strefac czasowych). robiliśmy rozwój ogromnej aplikacji, nad którą siedziało wiele zespołów w różnych krajach (w .net). mergowanie zmian
  • Odpowiedz
@Nadrill: hm... albo nie rozumiem kompletnie, albo musiałeś pomylić wątek dyskusji. mnie chodziło że w artykule jaki podesłałeś wszystkie przykłady kodu są pisane z użyciem fontu o zmiennej szerokości liter. dla mnie jeśli o kod chodzi jest to nieco dziwne (niewygodne) i tyle.
  • Odpowiedz