Vilka språk är på gång? Vad ska man lära sig?

Permalänk
Medlem

Vilka språk är på gång? Vad ska man lära sig?

Tjena,

Jobbar dagligen i C, och har jobbat en hel del med både Java (Både "vanligt" och till Android) och C++.
Kan även Python hyfsat sedan tidigare. (Även Lisp, så är inte främmande för funktionella språk).

Lite sugen på att dra igång ett projekt hemma för att lära sig något nytt språk. Frågan är då vad?
Vad är up and comming? Scala är ju ett givet alternativ, men (kan få äta upp det här) känns inte som det riktigt tar sig...
Go har lite roliga idér, men tror inte att det heller kommer att lätta.
Lua och R tror jag nog kan ta sig, men känns inte som riktigt perfekta språk att dra igång ett projekt i.

Så vad tror ni? Vad kommer man ha nytta av att ha i CV:t om tre år? Något språk som är roligt att koda i? Är effektivt att koda i?

Permalänk
Medlem

Vad du än lär dig kommer du att få erfarenheter som kommer vara värdefulla.
När jag sitter i anställningsintervjuer med folk så är en av de viktigaste faktorerna att de har saker att visa upp. Inte primärt VAD de är gjorda i utan att personen har gjort saker. På min nuvarande arbetsplats så kommer det in massor av ansökningar där personer listar sina erfarenheter men sällan har något att visa upp ens i form av egna projekt.

Och lite off topic , värst är det när någon söker som webbutvecklare och mailar från en hotmailadress

Permalänk
Medlem

Qt tror jag skulle kunna vara intressant. Dock är dess framtid inte särskilt säker. Men att programmera nån riktig killer app i QT skulle nog gynna både dig och din plånbok. Än så länge är det väl bara Symbian och Meego som använder det, men det kan ju alltid komma fler. OVI store är riktigt stor med omkring 8 miljoner nedladdningar per dag men innehåller MYCKET skräp, så får du in en kvalitetsapp där så har du lyckats!

Visa signatur

Phenom II X6 1055t @ 3,5GHz
Sleeva.se »

Permalänk
Hedersmedlem

Om man redan behärskar c/c++, java, python och lisp har man nog sitt på det torra de närmaste decennierna. Testa något obskyrare istället (D, haskell) eller gräv djupare i de språk du kan (de dunklare hörnen av Boost (eller standardbiblioteket, för den delen) kanske?).

Permalänk

Känns som att C++ aldrig kommer dö ut. (inom dem närmaste decennierna)
Så jag skulle iaf satsa på att riktigt bemästra c++!

EDIT: Testa att skriva ett eget skriptspråk i C++, riktigt roligt och lärorikt

Permalänk
Permalänk
Medlem

Själv är jag bara nybörjare men den var jäkligt intressant ändå. ^^

On Topic: Nybörjare som sagt, kan inte riktigt hjälpa där.

Visa signatur

Windows användare sedan 1991. Numera MacBook Pro M1 Pro.

Permalänk
Medlem
Skrivet av iXam:

Vad du än lär dig kommer du att få erfarenheter som kommer vara värdefulla.
När jag sitter i anställningsintervjuer med folk så är en av de viktigaste faktorerna att de har saker att visa upp. Inte primärt VAD de är gjorda i utan att personen har gjort saker. På min nuvarande arbetsplats så kommer det in massor av ansökningar där personer listar sina erfarenheter men sällan har något att visa upp ens i form av egna projekt.

Och lite off topic , värst är det när någon söker som webbutvecklare och mailar från en hotmailadress

Efter några år på olika positioner på arbetsmarknaden så tror jag inte att egna projekt är sådär väldigt viktiga nästa gång man söker, men du har absolut en poäng. Det är viktigt, och för ett första jobb extremt viktigt.

Skrivet av Soulnut:

Qt tror jag skulle kunna vara intressant. Dock är dess framtid inte särskilt säker. Men att programmera nån riktig killer app i QT skulle nog gynna både dig och din plånbok. Än så länge är det väl bara Symbian och Meego som använder det, men det kan ju alltid komma fler. OVI store är riktigt stor med omkring 8 miljoner nedladdningar per dag men innehåller MYCKET skräp, så får du in en kvalitetsapp där så har du lyckats!

Detta är ett intressant tips. Inte helt främmande för QT heller, efter att ha kodat i KDE lite till och från. Ska helt klart kollas upp vad det finns för möjligheter, utan att direkt springa och köpa en telefon.

Skrivet av Elgot:

Om man redan behärskar c/c++, java, python och lisp har man nog sitt på det torra de närmaste decennierna. Testa något obskyrare istället (D, haskell) eller gräv djupare i de språk du kan (de dunklare hörnen av Boost (eller standardbiblioteket, för den delen) kanske?).

Skrivet av Sephinator:

Känns som att C++ aldrig kommer dö ut. (inom dem närmaste decennierna)
Så jag skulle iaf satsa på att riktigt bemästra c++!

EDIT: Testa att skriva ett eget skriptspråk i C++, riktigt roligt och lärorikt

Behärska är starka ord Och av de tre så är nog c++ det jag kan sämst, så att dra igång något där är nog inte dumt alls.
Boost har jag faktiskt inte använt alls...

Finns många bra poänger där, och är väl lite punkt fyra där jag är ute efter.

Fortsätt gärna diskutera och komma med förslag! Nu lutar det nog åt att leka med bibliotek i C++ eller göra något i någon .Net-variant. C# kanske.
Efter att ha kodat ganska lågnivå (ansi) C i nåt år nu så känns det som att det är klasser, arv och arkitektur som skulle vinna på att fräschas upp lite.

Permalänk
Hedersmedlem
Skrivet av jaqob:

Boost har jag faktiskt inte använt alls...

Efter bara en snabb överblick inser man att det finns väldigt mycket att hämta i dessa bibliotek; folk har tänkt på allvar...

Skrivet av jaqob:

C# kanske.

C++/CLI är ett trevligt språk (om än något styvmoderligt behandlat av microsoft (i visual studio 2010 framför allt)).

Permalänk
Skrivet av jaqob:

Behärska är starka ord Och av de tre så är nog c++ det jag kan sämst, så att dra igång något där är nog inte dumt alls.
Boost har jag faktiskt inte använt alls...

Mjo, behärska var lite fel ordval. Men lära sig bättre
Som sagt är boost riktigt grymt bra.

För att ha ett exempel på hur bra dem är.
10st av boost-biblioteken är redan inkluderade i TR1 (Wiki
Och ännu fler kommer läggas in i C++11 (C++0x) (Wiki

Sen om du vill göra Windows-applikationer kan du använda C++/CLI, Windows Forms.
Fast jag skulle säga att till det ändamålet är C# bättre.

Permalänk

Scala FTW!

Scala innehåller så många bra idéer (de flesta återvunna) så även om du inte använder det sen så kommer du bli en bättre programmerare av att lära dig det.

Permalänk
Medlem
Permalänk
Medlem

spanska?

Visa signatur

i5 3570k / Asus p8z77-i Deluxe / Asus Gtx680 DCII / Corsair Ax 750w / Ocz Petrol 256GB / Corsair Vengeance 16GB

Permalänk
Medlem

Hej,

Kommer här med ett förslag över ett språk som faktiskt används ute i det vilda och som är lite annorlunda, vilket kan vara kul om man vill lära sig något nytt. Språket jag tänkte på är Erlang. Kan vara kul att titta på om det är så att du är mer intresserad av serverapplikationer än applikationer som har gränssnitt.

//C

Permalänk
Medlem

Måste bara lägga till ruby som jag finner väldigt behändigt i brist på annat. Det tar objektorienterat till en helt annan nivå och innehåller många fina godbitar.
Ett snabbt exempel:

4.times{|i| puts(i) }

skriver ut 0-3
Vill du skriva en webapplikation så är Ruby On Rails ett fint alternativ.
Använder så klart ruby och MVC med abstakt hantering av databaser.

Permalänk
Medlem

Jag kan inte annat än att rekommendera C# med WPF eller varför inte ASP.NET (C#) med MVC för att prova på lite webbutveckling.

Oavsätt vad, väljer du .NET så måste jag såklart tippsa om AutoMapper som gör ditt liv ganska mycket enklare om du transformerar mycket data (ex model > view).

Dessutom finns det en hel del jobb inom .NET.

Visa signatur

CPU : AMD Ryzen 5 5600X Moderkort : ASUS ROG Strix B550-F GAMING Grafikkort :EVGA GeForce GTX 1080 Ti FTW3 iCX Gaming HDMI 3xDP 11GBMinne : Corsair 16GB Chassi :Fractal Design Define 7 Compact Nätdel : Corsair RM750x Skärm #1 : Asus VG349Q Ultrawide Skärm #2 : Acer X34 Ultrawide

Permalänk
Medlem
Skrivet av blink:

Måste bara lägga till ruby som jag finner väldigt behändigt i brist på annat. Det tar objektorienterat till en helt annan nivå och innehåller många fina godbitar.
Ett snabbt exempel:

4.times{|i| puts(i) }

skriver ut 0-3
Vill du skriva en webapplikation så är Ruby On Rails ett fint alternativ.
Använder så klart ruby och MVC med abstakt hantering av databaser.

0 to 3 foreach println <== scala

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

0 to 3 foreach println <== scala

haha vad e meningen? Olika språk är olika bra på olika saker, det där säger egentligen inget om språkets potential.

Visa signatur

CPU : AMD Ryzen 5 5600X Moderkort : ASUS ROG Strix B550-F GAMING Grafikkort :EVGA GeForce GTX 1080 Ti FTW3 iCX Gaming HDMI 3xDP 11GBMinne : Corsair 16GB Chassi :Fractal Design Define 7 Compact Nätdel : Corsair RM750x Skärm #1 : Asus VG349Q Ultrawide Skärm #2 : Acer X34 Ultrawide

Permalänk
Avstängd
Skrivet av Mr.Azum:

Teckenspråk?:D;)

Visa signatur

Here at Sweclockers we are all colleagues with each other! Those of us who just love Apple, we go beyond the: "We are all colleagues with each other"-talk! We ARE The iFamily!(F) Because we iTalk Apple! Simple as that! I am a proud member of The iFamily!<3
R.I.P. Steve Jobs!<3 See you in the iCloud!(F) I feel iSad...:'(
iFamily Sweden!

Permalänk
Medlem
Skrivet av SnowJim:

haha vad e meningen? Olika språk är olika bra på olika saker, det där säger egentligen inget om språkets potential.

Nä det är sant, det är ett trivialt exempel. Min avsikt var att visa ett koncist statiskt typat språk i jämförelse med ett erkänt koncist dynamiskt. Jag tycker ett språks syntax och standard-API är viktigt

Skickades från m.sweclockers.com

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Min avsikt var att visa ett koncist statiskt typat språk i jämförelse med ett erkänt koncist dynamiskt. Jag tycker ett språks syntax och standard-API är viktigt

Word! Ett statiskt typsystem är ett väldigt bra verktyg för att öka produktiviteten.

Permalänk
Medlem
Skrivet av Teknocide:

Nä det är sant, det är ett trivialt exempel. Min avsikt var att visa ett koncist statiskt typat språk i jämförelse med ett erkänt koncist dynamiskt. Jag tycker ett språks syntax och standard-API är viktigt

Skickades från m.sweclockers.com

Ja de kan jag hålla med om men biblioteken är för mig viktigare om man vill slippa att göra allt från grunden.

Eller vänta nu, vad menar du med statiskt typat språk? Menar du att man alltid känner till typen på variabler? D.v.s man använder inte dynamisk a typer så som "var"?

Visa signatur

CPU : AMD Ryzen 5 5600X Moderkort : ASUS ROG Strix B550-F GAMING Grafikkort :EVGA GeForce GTX 1080 Ti FTW3 iCX Gaming HDMI 3xDP 11GBMinne : Corsair 16GB Chassi :Fractal Design Define 7 Compact Nätdel : Corsair RM750x Skärm #1 : Asus VG349Q Ultrawide Skärm #2 : Acer X34 Ultrawide

Permalänk
Medlem
Skrivet av SnowJim:

Ja de kan jag hålla med om men biblioteken är för mig viktigare om man vill slippa att göra allt från grunden.

Eller vänta nu, vad menar du med statiskt typat språk? Menar du att man alltid känner till typen på variabler? D.v.s man använder inte dynamisk a typer så som "var"?

Lustigt att du tog just det som exempel då Scala använder sig av det nyckelordet

var foo = 41 // foo är en implicit variabel av typen Int def bar = foo + 1 // bar är en metod (ja, en fullständig metod) som implicit returnerar en Int (eftersom foo (implicit) är en Int) val blurb = List("detta", "är", "ett", "test") // blurb är en lista av typen String

Även C# är ett i grunden statiskt typat språk med nyckelordet 'var'.

Ett starkt standard-API gör att man inte behöver lika många tredjepartsbibliotek för att göra det man vill.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

0 to 3 foreach println <== scala

printf("0 1 2 3\n"); <== C

Skrivet av SnowJim:

Ja de kan jag hålla med om men biblioteken är för mig viktigare om man vill slippa att göra allt från grunden.

Eller vänta nu, vad menar du med statiskt typat språk? Menar du att man alltid känner till typen på variabler? D.v.s man använder inte dynamisk a typer så som "var"?

För C# så gäller det att:

var = Statiskt typat. Kompilatorn klurar ut typen under kompilering.
dynamic = Dynamiskt typat. Allt avgörs under körning.

Visa signatur

"Nothing is impossible because impossible itself says I M Possible..."

Permalänk
Medlem
Skrivet av Weeblie:

printf("0 1 2 3\n"); <== C

> echo 0 1 2 3

lolol :D:D
(eftersom du förstår skillnaderna mellan att skriva ut en statisk sträng och iterera över en collection där varje värde skickas till en funktion som behandlar det, förstår du lustigheten i mitt svar)

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

COBOL-programerare hörde jag skulle behövas om några år.

Visa signatur
Permalänk
Medlem

När du skrev "Vad är up and comming?" fick det mig att tänka på min lilla iakttagelse. Iakttagelsen som förmodligen är delat av flera, mer eller mindre, vilket handlar om att fler funktioner, program och användarupplevelser går (in) mot en gemensam plattform som kallas eller nämns i sammanhang med som ex. webben, cloud, mobile computing, html5 m.m. Jag vet, de e en massa buzz words och hype (överhypad enligt mig i vissa fall). Ja kanske inte riktigt "en gemensam plattform" men däremot plattformsoberoende kan vara den mer rätta termen i detta sammanhang.

Hursomhelst, så vilket språk var frågan men jag skulle hellre tänka vilken lösning eventuellt, som kan skapa applikationer där det blir behov för konsumenter i framtiden (vilket de inte kan eller vill vara utan).

Plattformsoberoende tror jag är en nyckel av flera, men om det är språket eller lösningen eller lite av vardera som möter denna nyckeln i framtiden vet jag inte.
Om det är språket så kan det vara html (med php/asp/sql/java etc) eller Qt toolkit eller liknande, om Qt/Nokia nu fixar för Android & iOS (lighthouse är intressant må jag säga).
Annars om det är lösningen istället för språken som blir viktigt så finner jag personligen Citrix xenClient och xenWhatever mycket intressant. Då kan du som programmerare skriva i de språk som passar dig, ditt team och ditt projekt bäst, men ändå leverera till WinLinMac, Android och iOS, ja typ alla.

Ett tydligt exempel är spelbranschen där spelutvecklare nuförtiden portar sina spel mellan PC, xbox, wii och ps3 (på gott och ont) för att nå plattformsoberoende. Dessutom finns det utvecklarverktyg som Unity3d, som en lösning på de hela istället för 3-4 språk.

Plattformsoberoende är viktigt för utvecklare som vill nå alla målgrupper gällande plattformar (få så många potentiella kunder som möjligt) medan för användare är det viktigt att de kan använda alla sina applikationer oavsett vilken apparat de sitter framför eller tar med sig, folk äger nuförtiden dessutom flera olika apparater.

De var min lilla iakttagelse sorry för en massa text, men jag skrev i alla fall inte mer än i en plattform

Permalänk
Medlem

Haskell

Jag rekommenderar absolut Haskell om du vill prova på något annat. Med haskell får du mera gjort på färre rader och mindre buggar. För imperativa programmerar kan haskell vara lite svårt att greppa i början. Första gången jag prövade gav jag upp, men nu gillar jag det verkligen.

Ghc, vanligaste haskell kompilatorn, gör att ditt program kan utnyttja alla kärnor i din processor, utan att du behöver koda kod för det. Detta gör att riktiga projekt kommer antagligen att köra snabbare än i C. Klart att handoptimerad C är snabbare, men så är assembler också snabbare än C. Trots det är det ingen just som skriver asm mera. Om man inte är skicklig blir resultatet långsammare i C och asm. Det är dessutom bara små program man orkar optimera på det sättet i C.

Fördelar med Haskell är att det fungerar både som tolkat och kompilerat språk. Dessutom finns det ett interaktivt läge, som i Python där man kan experimentera.

Jag rekommenderar http://learnyouahaskell.com/ som guide.