Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Everyone Can Code-cursussen van Apple worden beschikbaar in de Benelux

Apple heeft bekendgemaakt dat 70 hogescholen en universiteiten in Europa zijn begonnen met het aanbieden van Apples Everyone Can Code-cursus, waarmee de studenten Swift aangeleerd krijgen. Hieronder zijn scholen in Nederland, BelgiŽ en Luxemburg.

De elektronicagigant heeft de uitbreiding aangekondigd op zijn website. De cursus duurt een jaar en is samengesteld door werknemers van het bedrijf zelf. Tijdens de cursus leren de studenten met Apples Swift-programmeertaal apps maken voor iPhones en andere Apple-apparaten.

Op 70 verschillende hogescholen en universiteiten gaat de cursus gevolgd kunnen worden. Dit zijn scholen in Groot-BrittanniŽ, Duitsland, Frankrijk, ItaliŽ, Spanje, Nederland, Zweden, Denemarken, Noorwegen, Oostenrijk, BelgiŽ, TsjechiŽ, Luxemburg, Polen en Portugal. Welke scholen dit precies zijn, maakt het bedrijf niet bekend, al wordt in het persbericht wel de Hogeschool van Arnhem en Nijmegen genoemd.

Apple heeft Everyone Can Code aanvankelijk in mei vorig jaar in samenwerking met enkele scholen in de Verenigde Staten uitgebracht en werd in november uitgebreid naar enkele andere landen. Met deze laatste uitbreiding is de cursus breed beschikbaar in Europa.

Door

Nieuwsposter

142 Linkedin Google+

Reacties (142)

Wijzig sortering
Waarschijnlijk is dit een heel domme vraag, maar als niet-programmeur (ken alleen wat basic van uit de jaren '80) vraag ik mij af waarom er steeds andere programmeertalen worden gebruikt ? Is het niet voldoende om 1 computertaal te maken die gewoon wat apparaten kan aansturen, berekeningen maken en een website fatsoenlijk op het scherm weergeeft ? Waar heb je een programmeertaal anders voor nodig ?
Een programmeertaal wordt (vandaag de dag) veelal gebruikt om je te binden aan een platform, een commerciŽle reden. Een programmeertaal blijft een smaakje op iets te kunnen oplossen, te vertellen aan de computer hoe iets moet in uiteindelijk eentjes en nulletjes. Stel je voor dat een taal alleen op jou platform gesproken wordt dan zit je als provider goed, dan gebruiken ze alleen jou tools en producten. Er zijn ook third-party oplossingen die het mogelijk maken dit te doen in de taal die jij wilt of juist een nieuwe taal dat dan zogenaamd weer gemakkelijker is. Een 'standaard' op een 'standaard' zullen we maar zeggen. Dat is dan weer een markt die daarop volgt.

Zou eigenlijk eerder willen spreken over dialecten, het meeste komt op hetzelfde neer, je moet even weten hoe het moet worden 'uitgesproken', moet worden geschreven. De markt van verwarring, een toren van babel, vaak bewust met een doel: afhankelijkheid. De meeste talen zijn C-achtig/georiŽnteerd, meestal is dat niet zo'n probleem alleen de objecten die worden gebruikt, de inrichting ervan, dat moet je even weten en dat geeft marktwaarde. Frameworks, dat onderdeel van het platforn kan zijn is een 'selling point'.

Natuurlijk is het zo dat niet alle talen/dialecten bedoeld zijn om marktwaarde te creŽren, dan gaat het gemakkelijker/toegankelijker maken maar vaak naar de maker zijn idee, het blijft een smaakje om iets op te lossen en is nog maar de vraag of andere daar ook op zitten te wachten. Zodoende zie je steeds meer eilandjes ontstaan met interpretaties wat het meest gemakkelijk is, veelal op hetzelfde gebaseerd met een voorkeur. Het is het als met Steno, je kunt je kort uitdrukken maar wanneer het ingewikkelder wordt dan is het met simpel uitdrukken moeilijker geworden en in sommige gevallen kunnen ingewikkeldere uitingen niet eens. Dan is meer het handicap geworden dan een snelle hulp. Blijkbaar zijn mensen heel gevoelig voor sneller is beter en grijpen alles aan om een dialect te leren waarmee ze uiteindelijk niet alles kunnen. Dat is een typische definitie voor een 'hype'. Zo zie je iets heel snel komen en snel weer gaan.

Op die hype kunnen weer commerciŽle partijen inhaken en die komen dan weer met een eigen variant etc. etc. We vinden dat er ťťn weg naar Rome moet zijn alleen vele hebben een andere interpretatie hoe daar precies te komen. We voeren Engels als hoofdtaal, als wereldtaal maar het is nog niemand gelukt een programmeerwereldtaal neer te zetten dat werkelijk overal, zonder problemen, toegepast kan worden. Dat heeft waarschijnlijk te maken met onderliggende cultuurverschillen :) Wellicht moeten we meer met elkaar praten ipv elkaar proberen de loef af te steken. Ikzelf denk dat dit pas kan als het ontwikkelen uitsluitend voor de mensheid is bedoeld (een afgesproken standaard) en niet commercieel gewin.

[Reactie gewijzigd door codebeat op 22 januari 2018 06:36]

Meen je nu dat C en C++ gaan uitsterven? Ik geloof er niks van. C en C++ zijn voor de meeste toepassingen nog steeds de enige talen die Łberhaupt ondersteund worden. En dan heb ik het niet over knullige hobbyprojectjes, maar serieuze automotive microcontrollers bijvoorbeeld. Wat is er mis met C, wat is er mis met C++ of Java?

Sure, de Java Runtime kent zijn kwalen maar als je het mij vraagt is de taal zelf prima opgezet. Zo ook hebben beide C en C++ hun sterke en zwakke punten. COBOL ken ik niet, dus daar kan ik niks over zeggen. Maar ik kan me niet vinden in je statements.
Dat is prima, er zijn ook nog hele volkstammen die gebruiksvriendlijke code willen schrijven die ze zelf en anderen kunnen laten begrijpen. Software is er niet alleen voor techneuten. Het is echter helaas zo dat bijzonder weinig mensen inzien dat een taal een stuk gereedschap is wat je kunt toepassen in een bepaalde activiteitenscenario.
En inderdaad als je zeer dicht op de hardware wil blijven zoals embedded software scenarios dan is dat voorbstelbaar dat C en C++ nog steeds beter werken. Maar ja dat verandert eigenlijk al met de toename van de rekenkracht. De processoren worden steeds energiezuiniger en sneller en dus zou je een taal kunnen gebruiken met een hoger abstractie niveau. Echter hier loop je tegen de sociale gewoonten van een vakgebied aan. De techniek is meestal niet het probleem het zijn de mensen die zelf die uitzichzelf leren inzien dat techniek, software engineering en tijden veranderen. Een begin van een aardig analyse zie je bijvoorbeeld als je de inleiding leest van http://openbookproject.ne...on/english2e/preface.html: waarom C ontzettend moeilijk uit leggen is aan beginnende programmeurs en python daarin een beter 'mentaal model' bied.
Het is bijvoorbeeld nu denk ik wel geaccepteerd dat je niet met een taal als Pascal meer aan de slag gaat.
De discussie wat nu precies een goede programmeertaal is en in welk scenario begint nu pas echt op gang te komen als je er naar zoekt. Kijk maar eens bijvoorbeeld naar Functional Programming and Modern DevOps: Aaron Contorer https://youtu.be/ybSBCVhVWs8, Rob Martin - Teaching functional programming to noobs (Lambda Days 2016) https://youtu.be/bmFKEewRRQg, "Uncle" Bob Martin - "The Future of Programming" https://youtu.be/ecIWPzGEbFc .

[Reactie gewijzigd door oks op 20 januari 2018 10:30]

Met alle respect, de eerste alinea begon goed maar daarna leest het als een nette variant van elke discussie over welke taal beter is. Elk fora staat er vol mee.
Het is bijvoorbeeld nu denk ik wel geaccepteerd dat je niet met een taal als Pascal meer aan de slag gaat.
Waarom zou iemand niet met Pascal aan de slag gaan?
De processoren worden steeds energiezuiniger en sneller en dus zou je een taal kunnen gebruiken met een hoger abstractie niveau.
Heb je al eens een stuk code om van real mode over te schakelen naar long mode geschreven? Daar is C al veel te abstract voor.

Welke taal je gebruikt heeft mijn inziens vooral te maken met het doel dat je wil bereiken. Met de middelen die een taal je bied als belangrijkste argumenten. Maar net zo belangrijk is de afweging tussen het leren van een nieuwe taal of gebruik maken van bestaande kennis en vaardigheden.
Ik snap niet helemaal wat deze activiteit die je beschrijft te maken heeft met het leren van programmeren/ algoritmisch/ontwerpen denken voor jongeren. Ik krijg nu het gevoel dat je twee zaken door elkaar haalt: je professionele kunnen en wanneer dat ergens voor ingezet wordt en het leren programmeren/ontwerpen.
Het gaat niet om de activiteit of de taal maar dat de persoon het doel bereikt dat hij of zij wil. Daarnaast is abstractie een mooi gereedschap voor maar geen doel op zich.

Programmeren moeten we aanmoedigen als een vorm van empowerment in deze digitale wereld. Daar horen geen kadertjes qua welke taal goed of slecht is voor je ontwikkeling. Wat nodig is enkel het aanmoedigen van de intentie in welke vorm dan ook.

Als mijn zoon een spelletje wil programeren in gw-basic op m'n oude XT dan moedig ik het aan in plaats van hem te vertellen welke taal en platform hij beter zou kunnen gebruiken. Zo verkrijgt hij z'n kennis en kunde die hij kan toepassen in andere talen en platformen.
Tja kan je doen. Ik benieuwd of hij dat gaat doen. Ik snap niet zo goed wat je bedoeld met abstractie: je gebruikt ALTIJD een abstractie. De vraag is of hij nuttig is voor het doel wat je wil bereiken. Je kunt ook een abstractie gebruiken waarin code en data gewoon doorelkaar worden gehusseld. Want waarom zou dat nodig zijn het scheiden van code en data? En dat gebeurde in de begin tijd van de computer ook. Zie onder andere het filmpje van Robert C Martin the future of programming. Daarin wordt uitgelegd hoe de huidige computer architectuur is ontstaan en de software ideeen die daar voor zijn gebruikt. De chip die je gebruikt is ook gebaseerd op bepaalde abstracties. En ga zo maar door.
Er is echter ook zo iets dat programmeren geen ego activiteit is. En slechte gewoonten kun je heel goed aanleren als je jong bent. Maar zeer slecht afleren naarmate je ouder wordt. Lijkt mij niet je doel: je wilt je kind goede gewoonten aanleren. Om maar een van de vele overwegingen weer te geven: Wil je er je geld mee verdienen dan zul je moeten samenwerken en gemeenschappelijk een referentie kader moeten opbouwen over wat goed en slecht coderen is. Ander blijft het een ambacht van individueen. Hoe je dat je kind spelenderwijs bijbrengt is inderdaad een grote uitdaging: niet te belerend zjin naar je kind en zijn enthousiasme stimuleren is de kunst. Tegelijkertijd is een programmeur als Robert C. Martin in staat heel leuk onderwijs te geven. Hij geeft hele leuke lectures.

[Reactie gewijzigd door oks op 20 januari 2018 21:09]

Als je studenten leert porgrammeren zoals jij zegt haken velen af. Laat ze eerst snel apps maken, wie wil zal wel van nature uit onderzoek doen en zich verdiepen.

Ik ben zelf JS dev. Ik vind de pad die ik gevolgd heb bijzonder leuk. Ik heb ook interesse in wat je allemaal opnoemt en heb eigenlijk het gevoel dat dit voor de meerderheid van de studenten geldt.

Leer ons talen waar we meteen iets mee kunnen als we van school komen, en laat het deurtje van verder onderzoek op een kier, maar dwing ze aub niet.
Functioneel programmeren vereist meer wiskundig inzicht lijkt me, en abstractie is voor gevorderd denken.
Wat is er dan mis met Pascal? Het lijkt me uitstekend om te beginnen met imperatief programmeren, variabelen, types, operatoren, loopjes, datastructuren en eenvoudige algoritmen, zonder poespas als UI, OO templates en dikke libraries.
Niet sexy of hightech misschien, wel een solide basis om te starten.
Toen ik 4(!) jaar geleden op de middelbare school informatica kreeg, moesten we ook opdrachten maken in Pascal. Was best leerzaam en prima, maar had ook voor hetzelfde geld c# aangeleerd kunnen worden waar ik nu iets meer baat bij zou hebben.
Nu ik op de hogeschool vrijwel alleen met object georiŽnteerde talen werk, lijkt het me ook slim om met zulke dingen naar de toekomst te kijken om te zien wat populair gaat worden en van welke taal je de beste inzichten krijgt als newbie.
Programmeren is geen verplicht vak op de middelbare school. Je hebt dan te maken met wat de docent beheerst. Wat het is maakt niet eens zoveel uit voor het bekend raken met het programmeren, al heb ik wel wat talen die op mijn zwarte lijst staan, zoals oude Basic dialecten met regelnummers (en dus gebruik van goto's in de hand werkt) en Cobol (teveel inflexibel administratief geneuzel voordat je aan programmeren toekomt).

C++, Java en C# zijn OO talen, Pascal, C en Basic zijn 3GL. Beheers je Pascal, dan is C eenvoudig te leren. Beheers je Java, dan is C# ook te doen. Beheers je C, dan kun je ook in C++ programmeren, alleen zul je niet de kracht van OO gebruiken.

De keuze van de taal is ondergeschikt aan het leren om procedureel / functioneel te denken.
Wat is er mis met Swift? De taal zit prima in elkaar en goed leesbaar de rest is aan de ontwikkelaar wat die ermee doet (ik kan namelijk van elke taal een enorme puinhoop maken). Daar hebben we al die linkjes niet voor nodig.

[Reactie gewijzigd door BoringDay op 20 januari 2018 17:46]

Sinds C++11 is C++ weer hot en voelt ook nieuw en ook anders aan. In software development is legacy zeer belangrijk en ook een eis. De reden dat C++ veel gebruikt blijft worden zelfs groeid en D adoptie moeizaam gaat.
Beste,
Het probleem is NIET de computertaal op zich. Een computertaal is - kort door de bocht, ik weet het - een middel, niet de toverstaf om de applicatie te genereren. Waar het steeds meer begint te wringen, is dat steeds minder studenten deftig abstract kunnen denken. Neem een probleem en werk dat uit in een algoritme, ...
Een voorbeeld (een voorbeeld dus, niet beperkt tot) is het object geŲriŽnteerd programmeren. Dat is een manier van denken en sommige talen ondersteunen je daar al beter in dan een andere, maar het gebruik van een taal die object geŲriŽnteerd programmeren ondersteunt, impliceert niet dat de gebruiker ook deftig object geŲriŽnteerd programmeert. Je reactie klinkt als iemand die steeds op de laatste hype springt, maar nooit met een team een grote applicatie heeft ontwikkeld of heeft moeten onderhouden.
Jaar na jaar zie ik aan de universiteit een verschuiving van het "intellect". In plaats van dat de gebruiker een bepaald intellect aan de dag legt en de tools als tools gebruikt, moeten de computerprogramma's/-tools steeds beter worden en is de intelligentie die daar vanaf straalt, de "vervangingsintelligentie" voor de "knappe" gebruiker.
Helemaal mee eens. Dat is trouwens wel aardig: er begint nu een heel aardige discussie op gang te komen over object georienteerd porgrammeren. Het is een paradigma wat eigenlijk ontzettend slecht is voor het opbouwen van je mentale model van de code. Kijk maar eens naar Tomasz Kowal - Elixir and Elm - the perfect couple (Lambda Days 2016) https://youtu.be/mIwD27qqr5U mooie slide: the number of things you need to keep in mind to understand a given code fragment "programmers memory consumption' PMC
Ik krijg op mijn studie HBO ICT vrijwel alleen object georienteerd porgrammeren.
Wat is er mis mee? (oprechte vraag)
In principe niets, zolang je weet waarom je dit paradigma gebruikt en met welk doel, en je bewust bent waar de beperkingen zitten en vooral of je dat expliciet onderwezen wordt. Niet alleen voor jouw persoonlijk maar vooral ook voor een team waarin je samen aan de code prutst.
Er dus zo iets als wat ik maar beschrijf als mentale gebruikersvriendelijkheid. Of zoals de Amerikanen het zeggen 'can you wrap your brains around it'. En deze programmeur Tomasz Kowal - Elixir and Elm - the perfect couple (Lambda Days 2016) https://youtu.be/mIwD27qqr5U zegt daar naar mijn mening iets samenhangends over.
Aangezien ontzettend veel software projecten nog steeds grandioos mislukken en vaak eigenlijk helemaal als ze in de onderhoudsfase komen (op een gegeven moment heet het dan met een mooi woord 'legacy'), ben ik dan geÔnteresseerd waarom dat is. En grofweg dertig jaar object georienteerd programmeren als paradigma zorgt er kennelijk ook niet voor dat deze projecten wel lukken.

[Reactie gewijzigd door oks op 21 januari 2018 11:43]

Leuk maar het maakt de boel niet makkelijker, bovendien zoals met elke taal en omgeving zodra het groot wordt dan krijg je eenmaal complexiteit en heb je te maken met prestatie, daar zijn geen wonder middeltjes voor.

[Reactie gewijzigd door BoringDay op 20 januari 2018 18:00]

In de praktijk heb ik nog nooit iemand gehoord die beweerd dat testen niet nodig is, maar testen is een compleet vak apart.
Dat gezeur met nerds altijd, nooit is iets goed, er is altijd kritiek, altijd. Dit nieuws is super positief, het is prachtig dat steeds meer mensen leren hoe je goede software maakt.
Juist! Van die mensen die lopen te neuzelen dat iemand met een Raspberry Pi bezig gaat, en niet ťťns de moeite neemt om, in plaats daarvan, CPU-tijd bij SARA in te kopen.
Ik denk dat dit prima(achtig) zou passen in het nieuwe school systeem. 1 opleiding en meerdere richtingen.

Ik ben eerstejaars HBO-ICT op Hogeschool Utrecht. Ik heb net de keuze moeten maken tussen 4 richtingen, BIM (Business IT en Management, dus degene die het onderzoek doet en alles in modellen gooit), SNE (System Network Engineering, alles over netwerken, osi-modellen, etc..), SIE (Software Informatica Engineering, het programmeer gedeelte, hier leren we Java (tweede jaar weet ik even niet)), TI (Technische Informatica, dit is python en C++, dit is ook meer gericht op de hardware kant)

Het eerste halfjaar hebben Python gehad, dus dat heeft iedereen gehad. Maar zo'n programma als Apple aankondigt zou in richting kunnen veranderen, app development. Desnoods gooi je er Java/Kotlin bij, en dan ben je volledig app developer.
(ik ga trouwens SIE doen en het C++ vak van TI erbij)
C (ben je oud genoeg om dat nog te kennen)? Is geschreven door twee medewerkers van AT&T. C++ is geschreven door een andere medewerker van datzelfde AT&T. C# is geschreven door Microsoft. Java? Geschreven door medewerkers van Sun Microsystems.

Ik kan zo nog wel even doorgaan.
Een taal voor een OS, laten we hier niet instinken.

Ja, je kan Swift op andere platformen draaien, maar dat betekend niet dat je dat moet willen.
Het maakt niet zo veel uit welke taal voor welk platform je leert. Het gaat er om dat je de principes leert van programmeren. En als je dan ťťnmaal een taal kent, wordt het eenvoudiger om een andere taal te leren. En bij iedere taal die je oppakt, wordt het eenvoudiger om de volgende taal op te pakken.

Om maar een voorbeeld te noemen (mezelf):
- Toen ik heel jong was heb ik met behulp van mijn vader een beetje de basis van TI-BASIC geleerd.
- Op de Hogeschool leerde ik later Java - nooit bij een werkgever gebruikt.
- Bij een werkgever heb ik later met Microsoft Visual Basic gewerkt, vooral voor .NET apps voor MKB.
- In mijn vrije tijd heb ik na mijn studie op een gegeven moment Objective-C geleerd, heb dat bij een werkgever gebruikt om iOS apps te maken.
- Weer later heb ik mezelf in mijn vrije tijd C# aangeleerd, ook bij een werkgever gebruikt om wat kleine tools te maken, maar ook iOS / Android apps (Xamarin).
- En ongeveer 2 jaar terug ben ik begonnen met Swift - gebruik ik bij mijn huidige opdracht, naast Objective-C.
- Tijdens ťťn van mijn laatste freelance klussen heb ik wat Ruby en shell scripting aangeleerd, weer "on the job". Ruby gebruik ik tegenwoordig voor scripting wanneer Bash wat te beperkt of rommelig is.

Al deze talen heb ik wel in grote mate mee gewerkt. Daarnaast heb ik ook nog een klein beetje lopen hobby-en met C, Go, Python, Scheme en wellicht nog wat andere talen, maar nooit echt veel gebruikt. Men moet ergens mee beginnen. Swift is mogelijk een betere taal dan vele anderen om mee te starten.

[Reactie gewijzigd door MacWolf op 19 januari 2018 23:55]

Op school MTS machine code Z80 Asembler voor 6800
Hobby Basic op ZX81 spectrum
GWbasic in Dos
TurboPascal Dos heb wat dos utilities geschreven.
MSV C++ 4.2 tot MSVS2017 C++
C++11 hoger voeld aan als andere taal dan C++98
Template manie maakt het ook heel anders.

Ben ook aanverdiepen in Functional programming en dan meer met non functional taal zoals C++14/17 met wel meer functional features.
Maar MSVS komt ook met F# naast C# etc

En ook vorig jaar met Swift begonnen op een Mac mini.
C was nooit bedoeld om op iets anders dan UNIX te draaien. En UNIX was niet bedoeld om op iets anders dan een PDP-11 te draaien.

Ik kan nog steeds doorgaan.
Swift is Apache License 2.0 Open Source. Apple zou op geen enkele wijze een Swift-compiler voor Windows tegen kunnen houden.

[Reactie gewijzigd door burne op 19 januari 2018 23:28]

Ik heb een idee dat Makreel bedoelt dat Apple hun eigen taal bedoeld voor hun eigen ecosysteem probeert aan te leren aan studenten.
Dit smaakt eerder naar een manier om meer programmeurs te kweken voor Apple, dan daadwerkelijk general purpose programmeurs. Dan zou ik een taal zoals Go veel beter vinden voor kinderen om te leren programmeren dan Swift puur omdat je daar op elk platform wel op terecht kan. Ik ben ook vrij zeker dat Apple zo de kinderen in hun ecosysteem proberen te lokken.
Ik vind dat alles behalve nobel en eerder indoctrinatie.
Swift kun je ook op niet-Apple producten gratis gebruiken. +prima taal voor beginners

[Reactie gewijzigd door darkfader op 19 januari 2018 18:25]

Wat is er mis met OSS?. Hogescholen staan nou niet bekend als kapitaal krachtig. Krijgen ze dan allemaal apple hardware? Voor zover ik weet wordt er veel met Linux gedaan op de HAN.
Ook in het grote bedrijfsleven ben ik swift nog niet tegen gekomen op bedrijfs kritische platformen. Meestal is het Java, Python of C# en wat c++. Lijken mij talen waar de gemiddelde student meer aan heeft.
Op de informatica opleidingen is er echt wel genoeg kapitaal beschikbaar hoor, het probleem is voornamelijk een gigantisch tekort op docenten. Iets waar een hogeschool meer last van hebben dan de sector zelf, aangezien het een hoog sociaal component heeft en verplicht een masters vraagt.

Nee dit gaat niet alleen op informatica studenten, zoals ik begrepen heb zijn het korte cursussen. Zoals je chinees kan doen als bijvak op een hogeschool.

Laten we ook heel eerlijk zijn, apps bouwen c++ is niet bepaald beginners vriendelijk. Python is voor mobiele app ook niet echt handig(dat visuele maakt developen juist leuk, een script parsing data of een back-end is voor een leek erg oninteressant). Nu kan C# en java worden gegeven, maar Apple heeft swift zitten gamifiien(https://www.apple.com/swift/playgrounds/) . Naast de simpliciteit van xcode kan ik het me best voorstellen dat universiteiten dit gebruiken voor noobs.

[Reactie gewijzigd door valvy op 19 januari 2018 20:07]

Onderschat Python niet. Heel veel gebruikt in R&D, ook in de industrie. Scipy, Numpy en Matplotlib staan op hetzelfde niveau als b.v de statistiek taal R. Ik kan mij een presentatie herinneren waarin ik een algoritme in een stukje python liet zien (2005 ofzo). Uit het publiek kwam de vraag of ik deze pseudocode al had omgezet in iets werkbaars. De vrager was hoogst verbaast dat de code daadwerkelijk runnable was. ( en is nu een python fanaat overigens)
Laat niet dat JS, Ruby, rust, Go etc. grote sprongen hebben gemaakt en dat zelfs oldschool pascal nog niet dood is.zoals ik laatst ondervond.
Swift is oss tegenwoordig net als C# dat nu is en Swift en iig C# core kunnen ook om elkaars platform draaien en op Linux dus Swift is gewoon geschikt als taal voor beginners. Je kan ook zeggen leer een taal waar je makkelijk een baan in kan vinden als C# of Java. Maar ik ben al blij wanneer meer mensen leren te programmeren.
Zelf zou ik een taal kiezen waar het concept van functioneel programeren goed in naar voren komt. Scala of misschien groovy voor het gemak. Javascript es6 zou ook nog een goede kunnen zijn.
Scala zou ook een goede zijn idd. Python is ook een prima keuze waarin zowel functioneel als oop een plek hebben die begrijpbaar is voor de gemiddelde beginnende cursist.
Scala zou ook een goede zijn idd.
Doe het dan meteen goed en ga voor b.v. Haskell i.p.v. een hybride oplossing als Scala!
Het thema van wat Apple doet is (zoals in de titel staat) "Everyone can code". En dan is Swift is geschiktere taal dan de talen die jij noemt. Daarnaast maakt het voor onderwijsdoeleinden helemaal niet uit in welke taal je leert programmeren. Het gaat om hoe je een programmeertaak aanpakt. De taal is bijzaak. Die leer je wel als je 'm voor een bepaalde toepassing moet gebruiken. Als je kunt programmeren kan je dat in iedere taal. Ik ben geschoold in Pascal, en toen ik ging werken werd ik gelijk in het diepe gegooid met C en later C++ en Java en nooit last gehad dat ik die talen niet tijdens mijn opleiding heb gehad. Het omzetten naar code is immers pas het laatste deel van programmeren.
Jup, zo is het bij mij ook gegaan. Laat niet weg dat de ontwikkel omgeving zelf tegenwoordig een steeds groter onderdeel van de leer omgeving wordt. Daarin moet een HBO een verstandige keus maken m.b.t. De arbeidsmarkt voor hun cursisten. Als dat Apple spul is, prima. Als dat niet sinus, dan belasting centen graag naar iets van algemener nut.
Swift is nieuwe taal. Het grootste probleem van nieuwe taal is dat developers een grote legacy code base opgebouwd hebben en daarmee bij oudere talen blijven hangen.
Ik zie Swift als apples poging van wat D voor C++ is.
C++ zou zonder al te veel moeite C++98 code moeten compileren , maar voor nieuwe projecten worden code guidelines voor moderne C++ 14 / 17 gevolgt.
Waar D legacy overboard gooid en dus clean taal is.
Net zoals Swift tov Objective C
Ja op Linux, maar volgens mij gebruikt niemand het daar.

En laten we er even vanuit gaan dat je een jaar lang alleen maar geleerd krijgt hoe je op Apple devices werkt, dan acht ik de kans klein dat men die overstap maakt.

Ik vind dit slecht voor op scholen te geven. Je zou daar juist de basis moeten leren en niet hoe een taal werkt. Dat betekent dus dat je mensen moet laten zien dat principes ook werken in een andere taal met een iets andere syntax. In mijn ogen is dit gewoon een cursus Apple developer klaar stomen.
Ik heb de onderbouwing om Swift op Linux te ondersteunen. Ik heb terug in de tijd dat Swift net opensource werd, December 2015, voor het eerst Swift geprogrammeerd omdat het naar Linux kwam. Het eerste wat ik wou, nadat ik leerde hoe veel ik hield van het programmeren in deze taal, was een website maken. Deze website is van Nederlandse bodem bij mijn oude werkgever ontwikkeld en staat online sinds April 2016.

In deze korte maar krachtige periode zijn er 4 grotere Web Frameworks opgestaan met een bijbehorende community. In volgorde van ontstaan:

- Perfect, een bijzonder commerciŽle partij die tevens inactief waren rondom hun community en de framework ontwikkeling. Sindsdien opgekocht door een Chinese klant om de support te behouden.
- Zewo, een community project dat bijzonder veel goede eigenschappen leent van Go om performance te halen. Ondertussen op "pauze" gezet totdat Swift ondersteuning krijgt voor coroutines
- Vapor, mijn primaire keuze destijds, een sterk project met een enorme community. Sindsdien mijn werkgever.
- Kitura, zoals hierboven genoemd door IBM ontwikkeld, nog steeds actief en sterk aan de weg aan het timmeren

Wij hebben behoorlijk veel grote bedrijven horen aankloppen met vragen rondom Vapor. Ik kan je garanderen dat mensen niet stil staan rondom Swift op Linux, of Server Side Swift, zoals onze community dit noemt.

Zoals hiervoor gemeld werk ik nu voor Vapor, dit doe ik full-time en met veel plezier en success. Alhoewel Swift nog een paar vervelende eigenschappen mist, met name een officiel ondersteuning voor coroutines, bereiken we heel snel heel veel.

Met Swift weten we dankzij Codable de data puur/schoon/type-safe te houden. Simpel, en heel concreet.

We weten door gebruik te maken van ARC CoW mechanismes heel efficient data door ons systeem te verplaatsen zonder een kopie te maken van de oorspronkelijke data. Dit resulteerde in een met afstand de snelse driver op het gebied van MySQL en MongoDB (waar PostgreSQL nog niet getest is). En onze HTTP server op gelijke voet gaat me https://github.com/valyala/fasthttp en maakt veel gebruik van Codable om de informatie type-safe te houden. Dit betekend dat alle data alleen nog maar een struct/class hoeven te zijn zonder (de-)serializatie. En onze database drivers voor MySQL (+ MariaDB), PostgreSQL en MongoDB staan tot nu toe onverslagen in onze benchmarks.

Swift is meer dan klaar voor de server en daar werken wij razendsnel naar toe.

@FrontlineCoder ping ik even ook hier mee om bij de discussie te betrekken :+
Swift word gebruikt voor iOS, macos, watchOS, tvOS, RESTapi, backends. Het is beschikbaar op Mac, Linux. Je kan apps voor Android ook in swift schrijven met behulp van SCADE.

En FuschiaOS van Google gaat naar verluid ook swift ondersteunen.

Naar mijn idee genoeg platformen waar swift al ondersteund word. Tenzij je bronnen hebt dat Swift niet word gebruikt op Linux? Onze backends zijn vorig jaar bijvoorbeeld allemaal van NodeJS naar Swift met Vapor gegaan en dit werkt ook op Linux.

[Reactie gewijzigd door FrontlineCoder op 19 januari 2018 18:59]

iOS, macOS, watchOS en tvOS zijn allemaal Apple. RESTapi en backend zijn nogal globale termen dat kan dus net zo goed betekenen dat dit op een van bovenstaande platformen draait. Lijkt mij ook niet zo heel raar.

Vervolgens zeg je dat het op Mac en Linux beschikbaar is. Daar was toch die opsomming voor neem ik aan?

Dat je ook Android apps er mee kan schrijven is ook niet heel raar gezien dat op een Linux kernel draait.

Dat Fuchsia Swift gaat ondersteunen is wel relevant, vooral gezien het er op lijkt dat Google Java wil dumpen.
https://swift.org/about/

Het staat iedereen en ieder bedrijf vrij om Swift te ondersteunen. IBM heeft 100 procent op Swift ingespeeld met onder andere Kitura en Bluemix. Beide die swift ondersteunen
https://developer.ibm.com/swift/

Google en Swift.
https://www.theverge.com/...le-fuchsia-os-open-source
http://www.androidpolice....ift-programming-language/

IDE's zoals SCADE vliegen de grond uit om cross platform te ontwikkelen met Swift. Dit als tegenhanger van Xamarin met C#

Ik vind dit gewoon een beetje jammer :
Ja op Linux, maar volgens mij gebruikt niemand het daar.
Zonder bewijs, zonder enige onderbouwing maar wat roepen.
Ik vind dat makreel wel een punt heeft. Belasting ontwijken belonen met free rider meeliften loopt inderdaad de spuigaten uit.

Publieke instellingen moeten, waar mogelijk, gebruik maken van open source. Bijvoorbeeld Linux en Python. Waarbij Python (in Nederland ontwikkeld!) bovendien een zeer gestructureerde taal is (alles is een object) en simpel gecombineerd kan worden met C.
"Als jij 10.000 mensen kan genezen door beschermde software van fabrikant <x> te kiezen, of 250 mensen genezen door gratis, opensource software van de community te kiezen" ...
Meestal is het andersom. Fabrikant <x> levert alleen aan de zeer rijken die het kunnen betalen. Dat heet commercie.
Om eerlijk te zijn ik heb met de beta gewerkt, en het is een prima taal. Lekker compact en fout afdwingend
Ik voel een Disneyfilm komen over een rat wiens grote droom het is software-ontwikkelaar te worden... :+
Die is er al IRL, zie Oracle. Is meer horror. :)

[Reactie gewijzigd door Sandor_Clegane op 19 januari 2018 19:51]

Weer met focus op iOS zeker? :/
Amper iets te vinden dat specific is voor macOS dev ... Alsof dat Apple het hen niet meer kan schelen..

We zijn intern mensen aan het 'converten' omdat dat simpeler is dan een macOS dev te vinden (ikzelf ben zo'n convert :p)
Samenvoegen? Of iOS apps op MacOS draaien? Klein verschil.
Denk eerder een crossplatform apple framework waar dev alle relevante platformen voor hun app kunnen targeten.
Omdat veel IOS app voor macos ook logische target zou zijn maar men toch exclusief IOS target.
Het wel extra werk gezien user interface totaal anders is .
Aanbod voor macos appstore wat magertjes is tov voor IOS
Apple heeft aangeven dat nooit te willen doen, net als dat de Airport niet zal verdwijnen. Dat zijn meer de websites zelf die eigen geruchten verzinnen of klakkeloos copy/paste verhaaltjes publiceren.

Op dit item kan niet meer gereageerd worden.


Call of Duty: Black Ops 4 HTC U12+ dual sim LG W7 Samsung Galaxy S9 Dual Sim OnePlus 6 Battlefield V Microsoft Xbox One X Apple iPhone 8

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V. © 1998 - 2018 Hosting door True

*