Šta je novo?

Apple's Swift - a new programming language

kovacm

Čuven
Učlanjen(a)
28.01.2005
Poruke
8,606
Poena
570
ajde da SWIFT dobije svoju temu :)

nadam se da ce biti dosta postova u temi jer je ovo izgleda nesto novo...

officijalna Apple stranica: https://developer.apple.com/swift/
 
da odogovrim:

@ковач, то је Брет предлагао пре 3 године, када сам и ја први пут видео презентацију, https://www.youtube.com/watch?v=PUv66718DII и да, ово делује као да личи на ту интерактивност и инстатно враћање информације програмеру док развија то што већ развија.
verujem da si pogledao i ostale ideje Bret Victora ali za one koji nisu:

http://forum.benchmark.rs/showthrea...IT-linkovi-)&p=3480024&viewfull=1#post3480024

Генерално сам по први пут заинтересован да научим језик који се користи за развој апликација на њиховим платформама.
zbog neceg konkretno u vezi Swifta ili samo zato sto je novo...? :)
 
Није само због језика већ и због SDK-a који су данас представили али да, језик ми је #1 разлог јер је заиста личи на С и сличне језике. (ово сада кажем као неко ко програмира са Руби језиком) ОВЈ-С ми је чуднији и од Haskell-a.

Генерално ме интересује јер волим, у самој сржи, процес развоја и креације програма и сервиса... па бих волео да пробам да савладам и развој iOS апликација.
 
Poslednja izmena:
Informisao sam se malo u medjuvremenu i zakljucak koji sam izveo jeste da Apple radi isto sto i Microsoft, zatvara se u cauru. Cilj ovog Metal API-ja jeste da komplikuje zivot developerima i da ih natera da razmisle da li portovati na Android, da li se isplati.

pa sta je sad toliko drasticno drugacija sa Swiftom?
ni do sada "Java" i Objectiv-C nisu imali nista zajednicko sto bi olaksalo portovanje aplikacija.
sta se to sada toliko drasticno promenilo po tom pitanju sa pojavom Swifta?!?

i sto se tice portovanja na Android, mislim da programski jezik nije prva stavka na listi problema:
http://gameovenstudios.com/bounden-on-android-delayed/ :p

Nisu prvi koji ovo rade, ali posto su najveci moze se reci da su ovim potezima otvorili Pandorinu kutiju. Sad ce svi da krenu istim putem i da forsiraju svoj zatvoreni standard. Nadam se da si srecan kovacm, posto su se 80-te vratile. Samo sto danasnji softver nije jednostavan kao sto je bio tada i neces videti portovanje na sve relevantne platforme.
Pa nikada nisam ni video portovanje npr. AutoCad-a na Atari ali zato jesam 80tih Microshit Worda na Atari - tuga bozija! (mada je mogao da otvori 4 dokumenta paralelno za razliku od PrC verzije ;) a sto se AutoCad-a tice, imali smo DynaCADD - dakle ta "zatvorenost" ne vidim da je bila neki problem, cak naprotiv! izuzetno pozeljna u svetu C:\ vs GUI OSa)


elem,
opet te pitam, sta se to sada toliko promenilo sa Swiftom u odnosu na dosadasnji Objectiv-C da se: "komplikuje zivot developerima i da ih natera da razmisle da li portovati na Android"?
 
Poslednja izmena:
Kovac, ti da poznajes materiju ne bi pitao takve stvari. Ali ajde, posto se izdajes za poznavaoca reci mi kako je nastao Objective-C, kako je nastao GNUstep i kakvu je Apple imao ulogu u tome. Ispricaj mi istoriju Webkita, OpenCL, HTML5 i ostalih open standarda koje je Apple podrzavao. Kazem podrzavao, jer kada je umro Jobs umrla je i zelja Apple da ulaze u otvorene standarde. Donekle razumem njihove razloge, ali to ne opravdava to sto su se pretvorili u ono sto su osporavali vecinom svoga postojanja, Microsoft.

Oni su danas prezentovali gomilu softverskih alatki, API-ja i citav programski jezik sa SDK a sve to je NAMENJENO NJIHOVOM EKOSISTEMU. Radi samo na NJIHOVOM HARDVERU I SOFTVERU. Microsoft je bar samo pisao softver a hardver pustio druge da prave tako da su i drugi mogli da se okoriste od DirectX i Windowsa, ma koliko zatvoreni oni bili.

Ovo danas je deo Apple 2.0 projekta ciji ce drugi deo biti prezentovan na jesen. Smem da se kladim da na duge staze planiraju da sutnu Intel i da sve sami prave. Njihov CPU, njihov GPU, njihov programski jezik, njihov SDK, njihovi APIji koji rade samo na njihovom hardveru i nicemu vise. Njihov ekosistem. Zacarani krug u koji jednom udjes i vise nikada ne izlazis. Sve zakapijano sa milion brava, ne dao bog da pozelis nesto drugacije od onoga sto ti oni serviraju. Ako budes hteo napolje moras da kazes zbogom svemu onom sto si platio dok si koristio njihovu prodavnicu, jer ti to ne posedujes vec samo iznamljujes. To vazi i za druge, ali Apple je najveci i ima najveci uticaj na industriju i samim tim njihova (ne)dela imaju najglasniji odjek. Za jednu korporaciju koju mahom vode jevreji, jos nisam video bolji primer softverskog fasizma.
 
ObjectiveC je definitivno nezgodan jezik. Bas sam ga toliko - koliko savladao, ali i dalje se radujem swiftu. Ko zna koliko je programera ObjectiveC odbio. Ja da nisam bio uporan, nikada ga ne bih naucio. Krenuo sam par puta, i bataljivao. Drugacije je definitivno nego C#, Delphi, Visual Basic... Trebalo je nauciti i kako funkcionise IDE, a ne samo jezik. Prvi put kad sam video IBOutlet, IBAction, weak, atomic itd. ?!? Sad se setih da si ranije morao da sintesizujes propertije (?!?).

Swift me najvise podseca bas na Javu i C#. Cak mislim da je daleko blizi njima nego ObjectiveC-u. Kad vidim u ObjectiveC-u one zagrade muka mi pripadne. Uglavnom , tesko mi je palo kad sam ucio. I taj xCode sa povezivanjem uz pomoc misa i sl. mi je otezao posao.
 
@GOW: Imas rastuci broj alata poput Xamarina, Delphi-a itd. koji omogucavaju lak cross platform razvoj. Razmisljali smo ja i moj prijatelj da pravimo igru i nesto mislim da bih koristio Unity, nema sanse da bih se zezao da pravim nesto sam od nule. Meni je iskreno drago sto su uveli Swift, ovo ostalo me i nije nesto odusevilo (iako sam Apple korisnik). E da svidja mi se sto su otvorili TouchID za developere (iako nemam 5S). Ako budem menjao iP4 voleo bih da neke aplikacije koriste TID).
 
@kovac:
Portovanje igara sa iOS na Android je prilično jednostavno. Interface i saradnja sa OS se radi u objc ili u Javi, dok se igra pravi u c/c++. Kod iOS-a se taj deo staticki linkuje, dok se kod Androida koristi ndk.
 
Није само због језика већ и због SDK-a који су данас представили али да, језик ми је #1 разлог јер је заиста личи на С и сличне језике. (ово сада кажем као неко ко програмира са Руби језиком) ОВЈ-С ми је чуднији и од Haskell-a.

Генерално ме интересује јер волим, у самој сржи, процес развоја и креације програма и сервиса... па бих волео да пробам да савладам и развој iOS апликација.

Relativno brzo ces se snaci sa novim jezikom jer Swift sintaksa bas lici na JavaScript.
 
Relativno brzo ces se snaci sa novim jezikom jer Swift sintaksa bas lici na JavaScript.

Па да... међутим нашао сам ја још интересантних поређења са врло не-OO језицима...

Screen_Shot_2014_06_03_at_15_26_18.png
 
Nested funkcija ima u paskalu i cesto mi fale kada programiram u C#-u.

Uglavnom, mene najvise podseca na C# sto je dobro. Ovi parametri za funkcije se deklarisu kao u Pascalu. Posto mnogi znaju oba jezika, samo ce to da miksuju.
 
To je danas trend, da se dizajniraju novi jezici koji su multiparadigm kao sto su Scala, Rust, Julia. Ovaj Swift bas lici na taj pristup, nadam se da ce malo podrzati open source. Posto onaj Xcode je jos vece zlo od Visual Studia. Voleo bi da mogu da kompajliram Swift kod van Apple alata. Za sada izgleda mrka kapa sto se toga tice.

Uglavnom, mene najvise podseca na C# sto je dobro.

Po cemu te podseca na C# (osim ocigledno zatvorene prirode oba jezika)?
 
Poslednja izmena:
@GOW: Sintaksa mi je slicna sto je meni super.

Swift je doduse verovatno dinamican, jos nisam stigao dotle ali tesko da su to izmenili u odnosu na objectiveC.
 
Kovac, ti da poznajes materiju ne bi pitao takve stvari. Ali ajde, posto se izdajes za poznavaoca reci mi kako je nastao Objective-C, kako je nastao GNUstep i kakvu je Apple imao ulogu u tome. Ispricaj mi istoriju Webkita, OpenCL, HTML5 i ostalih open standarda koje je Apple podrzavao. Kazem podrzavao, jer kada je umro Jobs umrla je i zelja Apple da ulaze u otvorene standarde. Donekle razumem njihove razloge, ali to ne opravdava to sto su se pretvorili u ono sto su osporavali vecinom svoga postojanja, Microsoft.

iskreno receno, i dalje ne razumem sta hoces da kazes.
sta ja mislim o istoriji Webkita, OpenCL, HTML5, znas i sam, tj. uvek mozes da procitas moje postove iz prethodnih godina.

Oni su danas prezentovali gomilu softverskih alatki, API-ja i citav programski jezik sa SDK a sve to je NAMENJENO NJIHOVOM EKOSISTEMU. Radi samo na NJIHOVOM HARDVERU I SOFTVERU.

dobro i...?

Microsoft je bar samo pisao softver a hardver pustio druge da prave tako da su i drugi mogli da se okoriste od DirectX i Windowsa, ma koliko zatvoreni oni bili.

axa. sad mi je jasno :)

ti, kao i ostatak Windowz planete, ste se malo pogubili u ludilu koje je Microsoft napravio i nazvao "open". to nikada nije bilo dobro, nikada ni nece biti dobro, za nas korisnike. hvala bogu da je makar jedna firma iz 80tih prezivela! uzmi novine iz tog vremena i pogledaj koliko je noviteta svakog meseca tada bilo! - da danas imamo samo Microshit, sta mislis kad bi videli iPhone-like uredjaj ili sve ove novine koje je Apple prezentovao juce na WWDC?? godinu dana, dve godine, pet godina...?

Microsoft je svojevremeno izbacivao nove verzije Internet Explorera svake godine dok se takmicio sa Netscapeom krajem proslog veka.
Kad je porazio Netscape, trebalo mu je 6 godina da izbaci novu verziju Internet Explorera i 6 godina da izbaci novu verziju OSa (koja je, btw, bila toliko losa da niko nije hteo da je koristi!!).

dakle, ne fantaziraj da je Microsoftov "open" pritsup racunarskim tehnologijama doneo bilo sta korisno ovoj planeti već plači sto su uspeli da uniste svaku kompaniju koja je imala bilo sta novo da doprinese u IT svet!

ponovo moram da citiram Douglas Adamsa:

"The idea that Bill Gates has appeared like a knight in shining armour to lead all his customers out of a mire of technological chaos neatly ignores the fact that it was he who by peddling second-hand, second-rate technology, led them all into it in the first place."


---

spomenuo si DirectX, da li znas njegovu istoriju ??????
 
@kovac:
Portovanje igara sa iOS na Android je prilično jednostavno. Interface i saradnja sa OS se radi u objc ili u Javi, dok se igra pravi u c/c++. Kod iOS-a se taj deo staticki linkuje, dok se kod Androida koristi ndk.

dobro, i kako ce sad Swift da "komplikuje zivot developerima i da ih natera da razmisle da li portovati na Android"?
 
Nece Swift nego Metal. Posto je i dalje situacija sa igrama (pogotovo graficki intenzivnim) takva da je iOS i dalje primarna platforma, to ce dovesti do toga da mnogi developeri nece ni razmisljati o Android portu jer nece biti lako izvesti ga kao sada kada je OpenGL ES jedina opcija na obe platforme. Apple Metal kao i AMD Mantle kao i Microsoft DirectX, kao i svojevremeno S3 Metal API i 3DfxGlide imaju za cilj da zatvore developere u njihov tor. Sve se to prezentuje kao veliki napredak, bolje perfomanse i sta ti ja znam. Ali to je jedna velika sarena laza koja sluzi samo jednoj svrsi, uvecanju profita i direktno ide na stetu korisnika.

Apple je imao sjajnu "predizbornu" kampanju oko Metala, gde su par developera pljuvali po OpenGL-u da bi se juce svi ti likovi oglasili na twitteru hvaleci Metal i kako im je trebalo par sati da portuju svoj engine. Jeste kako da ne, nadam se da uzivaju u novcu koji im je Apple platio da sire njihovu propagandu.
 
@G@W
Kako to "ide na stetu korisnika"? Kako ćemo ti i ja biti oštećeni, ne razumem?
 
Neces biti ostecen sve dok ti je udobno u Apple ekosistemu. Ako si siguran da ce ti uvek biti udobno, onda problema nema. Ali ako bilo kog momenta pozelis da promenis ekosistem naci ces se u problemu. Doduse, ovo vazi za sve ekosisteme zatvorenog tipa. Mada, Apple ipak ima najveci zatvor.

Vecini korisnika iz Srbije ovo jos uvek ne prestavlja problem posto sumnjam da vecina kupuje stvari na App Store. Ali je zapadnjacima ovo glavni problem kada pozele da promene platformu.
 
Ako kao developer planiraš samo iOS verziju onda nema problema. Ali ako planiraš i android verziju, onda si već u problemu jer treba održavati dve verzije koje skoro i da nemaju dodirnih tačaka.
G@w je lepo primetio da je ovo novi d3d.
 
Мислим да је само потребно разјаснити онима који нису програмери да сам програмски језик неће ништа утицати на крајње кориснике (јер је и до сада био коришћен други прог. језик за iOS апликације у односу на остале ОЅ системе или хибрид попут Xamarin).

У питању је, као што је G@W навео њихов Metal API који је доступан само за iOS платформу.

Са друге стране, као неко ко не ради апликације за наведене системе и гледам само са стране... некако ми је логично да Apple уради нешто овако како би привукао најбоље програмерске ”куће” да издају своје игрице прво (а можда и ексклузивно) за њихову платформу. Мислим, на крају дана, iPad je далеко више уређај за играње игара него било шта друго (поготово по питању зараде за програмере).
 
Nece Swift nego Metal. Posto je i dalje situacija sa igrama (pogotovo graficki intenzivnim) takva da je iOS i dalje primarna platforma, to ce dovesti do toga da mnogi developeri nece ni razmisljati o Android portu jer nece biti lako izvesti ga kao sada kada je OpenGL ES jedina opcija na obe platforme. Apple Metal kao i AMD Mantle kao i Microsoft DirectX, kao i svojevremeno S3 Metal API i 3DfxGlide imaju za cilj da zatvore developere u njihov tor. Sve se to prezentuje kao veliki napredak, bolje perfomanse i sta ti ja znam. Ali to je jedna velika sarena laza koja sluzi samo jednoj svrsi, uvecanju profita i direktno ide na stetu korisnika.

Apple je imao sjajnu "predizbornu" kampanju oko Metala, gde su par developera pljuvali po OpenGL-u da bi se juce svi ti likovi oglasili na twitteru hvaleci Metal i kako im je trebalo par sati da portuju svoj engine. Jeste kako da ne, nadam se da uzivaju u novcu koji im je Apple platio da sire njihovu propagandu.

Baš sam ovo hteo da napišem.
 
Uprošteno rečeno, svi tupe i gledaju da nešto ograniče ili zatvore tj. okrenu točak na svoju vodenicu. Apple je pokrenuo lavinu i sad svi idu tim putem. Nekako ne mogu da se otmem utisku da će se stvari još pogoršati kako vreme odmiče jer je guranje veliko a konkurencija tvrda. To svakako mora da košta negde developere kada je multiplatform priča u pitanju, a ako njih košta, moraće da košta na ovaj ili onaj način i sve korisnike na kraju. Evidentno je da Apple ima dodatnu potrebu da forsira određene standarde i dodatno obaveže developere, a trenutno su u takvoj poziciji da im se to može ili barem tako žele da celu stvar prikažu. Vidi se da ih tu mnogo svrbi čim iz prezentacije u prezentaciju forsiraju grafikone u kojima su njihovi proizvodi uvek super superiorni u odnosu na konkurenciju. Grafikoni su jedno a realnost nešto sasvim drugo, stoga nisam siguran ni da će se nešto preterano veliko iz te jurnjave izroditi na kraju...
 
Nazad
Vrh Dno