Frågor angående programmering!

Permalänk
Medlem

Frågor angående programmering!

Hej!

Jag har under några månader lekt runt lite med C# och kan grunderna flytande. Det är nu så att jag inte har någon kunskap ALLS när det kommer till vad marknaden är ute efter och vad som är efterfrågat.

Vilket programmerings språk är det som ger flest jobb? Och uppdateras språket mycket? (Jag har hört att ASP.NET, C# osv håller på att dö ut, inte hört det från pålitliga källor men jag har fortfarande misstankar).

Jag bryr mig inte om svårighetsgrad då jag tänker lägga ner 100% på att lära mig språket. Skulle vara bra om man kan tjäna lite pengar på det medans man lär sig (stor efterfrågan).

För er som inte orkar läsa:
Vilket programmerings språk ger flest jobb / stor efterfrågan, och uppdateras detta språket fortfarande? (Aktivt dev team)
Kan man tjäna lite pengar på sidan av det? (Hemsidor som freelancer osv)

Jag är både intresserad webbutveckling OCH systemutveckling så det spelar ingen roll

Permalänk
Medlem

Kort svar: Du kan inte gå fel med C# eller Java.

Längre svar: C# är populärt i mellanstora företag. På grund av licenskostnader och inlåsning i Microsofts miljö springer kostnaderna iväg linjärt om företaget/applikationen växer. Detta är särskilt märkbart i webbutveckling där i princip alla komponenter kräver licensiering av något slag (serverplattform, SQL-server, utvecklingsmiljöer).

Små företag eller enskilda firmor kör ofta på PHP-plattformen, som är billigt och enkelt att komma igång med. Däremot är det inte lika skalerbart i större miljöer.

Riktigta bjässar kör ofta Java-plattformen (inte nödvändigtvis språket Java) av ett par olika anledningar, dels för att det var 'the hot new thing' för ett tiotal år sedan, dels för att det finns en uppsjö fria och bra utvecklingsverktyg, och dels för att det utan problem kan köras på förhållandevis billiga linuxmaskiner.

När det kommer till själva språken är C# nyare och hetare än Java. Andra JVM-språk som Clojure och Scala väger till viss del upp detta, men C# är ofta mer lättillgängligt för en grupp av utvecklare. Med det sagt har företag som Twitter och Foursquare framgångsrikt implementerat Scala-lösningar i sin backend-arkitektur, och jag bedömer att detta är en växande marknad.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Kort svar: Du kan inte gå fel med C# eller Java.

Längre svar: C# är populärt i mellanstora företag. På grund av licenskostnader och inlåsning i Microsofts miljö springer kostnaderna iväg linjärt om företaget/applikationen växer. Detta är särskilt märkbart i webbutveckling där i princip alla komponenter kräver licensiering av något slag (serverplattform, SQL-server, utvecklingsmiljöer).

Små företag eller enskilda firmor kör ofta på PHP-plattformen, som är billigt och enkelt att komma igång med. Däremot är det inte lika skalerbart i större miljöer.

Riktigta bjässar kör ofta Java-plattformen (inte nödvändigtvis språket Java) av ett par olika anledningar, dels för att det var 'the hot new thing' för ett tiotal år sedan, dels för att det finns en uppsjö fria och bra utvecklingsverktyg, och dels för att det utan problem kan köras på förhållandevis billiga linuxmaskiner.

När det kommer till själva språken är C# nyare och hetare än Java. Andra JVM-språk som Clojure och Scala väger till viss del upp detta, men C# är ofta mer lättillgängligt för en grupp av utvecklare. Med det sagt har företag som Twitter och Foursquare framgångsrikt implementerat Scala-lösningar i sin backend-arkitektur, och jag bedömer att detta är en växande marknad.

Tack så mycket för ett jättebra svar! Fått mycket att tänka på nu

Permalänk
Medlem

Populärt och bra är typ negativt korrelerade när det gäller programmeringsspråk. Java, C#, C++ är alla populära, men inte bra. Men i alla fall: Du borde lära dig nya spårk för att lära dig mer om programmering, inte bara för att det finns en stor efterfrågan.

"Scriptspråk" som är bra att kunna för att göra saker snabbt (fast inte bara, man kan göra mycket med dem): Perl, Ruby, Python
Populära språk (skitspråk): C++, C#, Java
Språk som ingen vill använda, men som man kan tjäna mycket pengar på pga. att banker använder det: COBOL
Bra, intressanta, och lär dig nått nytt: Erlang, Clojure, Haskell, Forth, Prolog

Permalänk
Medlem
Skrivet av tufflax:

Populärt och bra är typ negativt korrelerade när det gäller programmeringsspråk. Java, C#, C++ är alla populära, men inte bra. Men i alla fall: Du borde lära dig nya spårk för att lära dig mer om programmering, inte bara för att det finns en stor efterfrågan.

"Scriptspråk" som är bra att kunna för att göra saker snabbt (fast inte bara, man kan göra mycket med dem): Perl, Ruby, Python
Populära språk (skitspråk): C++, C#, Java
Språk som ingen vill använda, men som man kan tjäna mycket pengar på pga. att banker använder det: COBOL
Bra, intressanta, och lär dig nått nytt: Erlang, Clojure, Haskell, Forth, Prolog

Att ens använda kategorierna "bra" och "dålig/skit" på programmeringsspråk känns väldigt konstigt.

Visa signatur

“Every atom in your body came from a star that exploded. And, the atoms in your left hand probably came from a different star than your right hand. It really is the most poetic thing I know about physics: You are all stardust. ... The stars died so that you could be here today.” - Lawrence M. Krauss

Permalänk
Medlem

Lär dig Phyton!

tog mig en vecka att lära mig grunderna!

jag använder dock bara min kunskaper för att göra visuella noveller men man kan använda det till fler saker

Visa signatur

13600KF |32GB 3600Mhz | AMD 6900XT | Custom loop: 360x30(Phanteks T30) rad, 240x25(Arctic P12 A-RGB) | Dubbla D5 pump/res | EK vattenblock.

Permalänk
Skrivet av tufflax:

Populärt och bra är typ negativt korrelerade när det gäller programmeringsspråk. Java, C#, C++ är alla populära, men inte bra. Men i alla fall: Du borde lära dig nya spårk för att lära dig mer om programmering, inte bara för att det finns en stor efterfrågan.

"Scriptspråk" som är bra att kunna för att göra saker snabbt (fast inte bara, man kan göra mycket med dem): Perl, Ruby, Python
Populära språk (skitspråk): C++, C#, Java
Språk som ingen vill använda, men som man kan tjäna mycket pengar på pga. att banker använder det: COBOL
Bra, intressanta, och lär dig nått nytt: Erlang, Clojure, Haskell, Forth, Prolog

Skitspråk? Du menar 3 av världens lätt topp 10 populäraste språk just nu?

http://www.devtopics.com/most-popular-programming-languages/

Skickades från m.sweclockers.com

Visa signatur

ASUS TUF GAMING X570-PLUS | Ryzen 5 3600 | Corsair 16GB 3200Mhz Vengeance | MSI GeForce GTX 1080 Gaming X 8G | Corsair HX 750W 80+ | Noctua NH-U12A | Fractal Define R5

Permalänk
Medlem
Skrivet av moddelkaj:

Skitspråk? Du menar 3 av världens lätt topp 10 populäraste språk just nu?

http://www.devtopics.com/most-popular-programming-languages/

Skickades från m.sweclockers.com

Precis, det var det jag skrev.

Permalänk
Medlem
Skrivet av moddelkaj:

Skitspråk? Du menar 3 av världens lätt topp 10 populäraste språk just nu?

http://www.devtopics.com/most-popular-programming-languages/

Skickades från m.sweclockers.com

Skrivet av tufflax:

Precis, det var det jag skrev.

Jag blir också sån där av att läsa Tony Morris blog

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Hedersmedlem

C# är en bra bas. Lär man sig ett språk grundligt så brukar det inte vara något problem att gå vidare till nästa. Däremot tycker jag att du ska kan med att lära dig mer specifika webbteknologier.
Lär dig att bygga en html-sida med CSS utifrån en grafisk specifikation, för det är fan inte alltid så lätt.
Lär dig Javascript, Ajax och Websockets ordentligt.

Kan även vara nyttigt att titta på ramverk som jQuery.

Visa signatur

Använd gilla för att markera nyttiga inlägg!

Permalänk
Medlem
Skrivet av tufflax:

Precis, det var det jag skrev.

Svepande begrepp som att java och c++ skulle vara skitspråk tyder antingen på att du är oinsatt eller har en konstig definition av ordet skitspråk.

Visa signatur

“Every atom in your body came from a star that exploded. And, the atoms in your left hand probably came from a different star than your right hand. It really is the most poetic thing I know about physics: You are all stardust. ... The stars died so that you could be here today.” - Lawrence M. Krauss

Permalänk
Medlem

Lär dig programmering istället för ett programmeringsspråk.

Permalänk
Medlem

Du frågar vilket språk som ger flest jobb; räcker det inte med ett jobb till dig?

Mer seriöst så tycker jag det är korkat att snöa in sig på proprietära saker, men det kanske hör till personlig åsikt. Det jag kan rekommendera dig är att lära dig _att_ programmera, inte fokusera på vad du använder för verktyg. Börja med Python och få lite erfarenhet, stöt på lite problem som du måste lösa vilket kommer betyda mer i både längden och arbetslivet än vilket språk du kan.

Jag jobbar själv i C för inbyggda system, men det innefattar också exempelvis shell scripts, makefiles, perl, expect, python för att nämna några. Så vad jag vill ha sagt är att det är viktigare att lära sig hur ett system fungerar och hur du kan utnyttja det på bästa sätt än att fokusera på språk.

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk
Medlem
Skrivet av tufflax:

Populärt och bra är typ negativt korrelerade när det gäller programmeringsspråk. Java, C#, C++ är alla populära, men inte bra. Men i alla fall: Du borde lära dig nya spårk för att lära dig mer om programmering, inte bara för att det finns en stor efterfrågan.

"Scriptspråk" som är bra att kunna för att göra saker snabbt (fast inte bara, man kan göra mycket med dem): Perl, Ruby, Python
Populära språk (skitspråk): C++, C#, Java
Språk som ingen vill använda, men som man kan tjäna mycket pengar på pga. att banker använder det: COBOL
Bra, intressanta, och lär dig nått nytt: Erlang, Clojure, Haskell, Forth, Prolog

Du kan inte säga att vissa språk är skitspråk rakt av. Behöver man maxa prestandan med optimal minnesanvändning från ett system tvivlar jag på att ett funktionellt språk har mycket att komma med jämfört med C/C++ eller fortran.

Permalänk
Medlem

C# håller inte på att dö ut. Om något så stiger det fortfarande i användning och är väldigt populärt. Känslan jag har är att det är extra populärt i Sverige dessutom.

ASP.Net är heller inte dött på något vis. Däremot är det heta nu för tiden MVC3 istället för WebForms, men båda får ses som en del/påbyggnad av ASP.Net.

För att få jobb tror jag det är klokast att du försöker lära dig hela vägen istället för att bredda dig och tex lära dig Python eller Haskell. (Det svider lite i hjärtat att skriva såhär eftersom jag egentligen gillar både python o haskell men nåja..)

Tex, låt säga att du är intresserad av webben. Då skulle det som behövs för att kunna göra ett större web-system byggt på C#/.Net kunna vara:

SQL, C#, Javascript i språkväg. Lite mer brett tänker jag MSSQL, WCF/web services, MVC3, jQuery. EF och/eller något lightweight ORM. Ett gäng JS-bibliotek typ JavascriptMVC, backbone.js, underscore.js. HTML5/CSS. Att du har byggt en site med både en mobilanpassad och vanlig web-front. Någon cache-lösning tex memcache. Testramverk typ nUnit. SoapUI. Automatiskt bygge/test - TeamCity. En webserver, IIS 7.5. Bygga något på Azure (MS molnplatform) eller kanske hosta det hos Amazon.

Om du har koll på alla dessa delar kan du skapa något helt på ett annat sätt än om du kan syntaxen av C# och sedan lär dig python som egentligen inte hör ihop på samma sätt. Jag tror att det skulle hjälpa dig mycket mer att få jobb. Det är allt det där eller motsvarande som behövs för en större site.

Iaf min poäng är att om du ska bli en bra webb-utvecklare är det bra att ha hyfsad koll på hela "stacken". Det är mycket förutom ren c# som krävs.

Visa signatur

AK47s for everyone! - Angry mob
Since NaN /= NaN, I think, we should decipher 'NaN' as 'Not a NaN' - Miguel Mitrofanov
(Varför är människan så benägen att tro på Gud?) Antagligen har det lönat sig och evolutionen har drivit fram sådana hjärnor. - Anon

Permalänk
Medlem
Skrivet av Triffid:

Svepande begrepp som att java och c++ skulle vara skitspråk tyder antingen på att du är oinsatt eller har en konstig definition av ordet skitspråk.

Det jag menar med skitspråk är språk som det är svårt att göra det man vill i, och/eller som är onödigt komplicerade. Java och C++ båda uppfyller de kriterierna.

Skrivet av Mikael07:

Du kan inte säga att vissa språk är skitspråk rakt av. Behöver man maxa prestandan med optimal minnesanvändning från ett system tvivlar jag på att ett funktionellt språk har mycket att komma med jämfört med C/C++ eller fortran.

Varför kan jag inte det?

Och varför tvivlar du på det för? Det finns inget som säger att funktionella språk måste vara långsammare. Snarare tvärt om. Pekare i C tex gör det svårt för en kompilator att optimera bra.

Permalänk
Skrivet av monkeh:

Lär dig programmering istället för ett programmeringsspråk.

Lustigt... tror jag förstår vad du menar, men det är rätt bra att kunna ett specifikt språk...

Permalänk
Medlem
Skrivet av tufflax:

Varför kan jag inte det?

Och varför tvivlar du på det för? Det finns inget som säger att funktionella språk måste vara långsammare. Snarare tvärt om. Pekare i C tex gör det svårt för en kompilator att optimera bra.

Det finns inget som säger det kanske. Det är bara det att det funktionella språket som generellt är snabbare än C eller Fortran i praktiken inte finns än, mig veterligen. Isåfall borde man väl ha sett bevis på det? Varje språk har sina fördelar och nackdelar. Och varje person har sina preferenser. Personligen tycker jag att C är sådär, men att Fortran är kungligt (för beräkningar). Du får givetvis tycka att det är ett skitspråk för dina ändamål, men det betyder inte att det de facto är det.

Permalänk
Medlem
Skrivet av Mikael07:

Det finns inget som säger det kanske. Det är bara det att det funktionella språket som generellt är snabbare än C eller Fortran i praktiken inte finns än, mig veterligen. Isåfall borde man väl ha sett bevis på det? Varje språk har sina fördelar och nackdelar. Och varje person har sina preferenser. Personligen tycker jag att C är sådär, men att Fortran är kungligt (för beräkningar). Du får givetvis tycka att det är ett skitspråk för dina ändamål, men det betyder inte att det de facto är det.

Jag vet inte så noga, och det är omöjligt att säga generellt, men Common Lisp och ML är rätt snabba. Clojure är nästan lika snabbt som Java, vilket också är rätt snabbt.

Jag borde sagt detta till dig förra inlägg: Varför bryr sig så många om prestanda? Det är nästan aldrig viktigt. Vad sitter ni och gör där hemma? Battlefield 4?

Och ja, det är väl uppenbart att det inte finns någon formell definition av "skitspråk". Men ta t.ex. C++. Det finns mycket i C++ som är dåligt, se t.ex. http://yosefk.com/c++fqa/defective.html. Ingen vettig person kan säga att de där sakerna är bra. C är inte lika defekt, men man undviker gärna att programmera i C om man inte måste. Fortran kan jag inte.

Och Java:
* Inga "first-class"- eller "higher-order"-funktioner.
* Komplicerad syntax, t.ex. List<List<Integer>> list, för att inte tala om när man vill ha saker av olika typ i en lista eller hashtabell.
* Klasser i Java väver samman flera olika koncept, t.ex namespaces, typer och polymorfi.
* Polymorfin kan bara dispatcha på typ.
* Inga makron.
* Ingen svansrekursion (tail-call optimization).
* Man behöver skriva samma funktion flera gånger ibland, Math.abs t.ex. finns i 4 versioner för olika typer av tal.

Dessutom är OOP är sjukt överskattat och föränderligt tillstånd (aka variabler) tillför otroligt mycked "accidental complexity", dvs gör programmeringen onödigt krånglig.

Permalänk
Medlem
Skrivet av tufflax:

Jag borde sagt detta till dig förra inlägg: Varför bryr sig så många om prestanda? Det är nästan aldrig viktigt. Vad sitter ni och gör där hemma? Battlefield 4?

Vissa av oss jobbar även som programmerare, och är det inte så att man arbetar på något lulzigt inhouse-verktyg så är prestanda ofta otroligt viktigt. Vare sig du gillar det eller ej så används diverse språk för en anledning, även om anledningen inte alltid är den bästa. Att sitta och rata språk kommer sällan ge dig något i längden däremot, det bara stänger dörrar.

Och visst är python och allt det där sött, men kom igen, är det inte kul att få antasta hårdvaran nästan med sina egna fingrar genom c++ då.

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell

Permalänk
Medlem
Skrivet av tufflax:

Jag borde sagt detta till dig förra inlägg: Varför bryr sig så många om prestanda? Det är nästan aldrig viktigt. Vad sitter ni och gör där hemma? Battlefield 4?

Arbetar du som programmerare? Eller har du ens arbetat på något större projekt? Prestanda har en väldigt stor betydelse i verkligheten.
En väldigt stor andel av den mjukvara som utvecklas körs på inbyggda system, där man har begränsade systemresurser.
För all seriös programmering, dvs. systemprogrammering, spelprogrammering, databasprogrammering, realtids-programmering m.m. så är prestanda väldigt viktigt.

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem
Skrivet av tufflax:

Jag vet inte så noga, och det är omöjligt att säga generellt, men Common Lisp och ML är rätt snabba. Clojure är nästan lika snabbt som Java, vilket också är rätt snabbt.

Jag borde sagt detta till dig förra inlägg: Varför bryr sig så många om prestanda? Det är nästan aldrig viktigt. Vad sitter ni och gör där hemma? Battlefield 4?

Prestanda är nästan alltid viktigt! Det är ju det som bestämmer till vilken grad vi kan använda våra datorer. I forskning och utveckling, för att nämna ett litet urval, används verktyg som kräver att man klämmer maximal prestanda ur varenda klockcykel. Eller om man ser på det omvänt, det finns i stort sett ingen övre gräns för hur mycket prestanda man kan tänkas behöva, så ju snabbare desto bättre.

Men vi pratar nog om olika saker, jag tror du syftar på programmering/programmeringsteknik som självändamål, hur pass "elegant" och utvecklat ett språk är. Jag menar att olika språk passar olika bra till olika uppgifter, och att funktionella språk inte är bäst på allt (idag). Men jag håller med om att C++ kan bli onödigt komplicerat och invecklat, och Java (vilket är för långsamt att använda inom högprestandaberäkning) skulle jag helst undvika helt och hållet.

Permalänk
Medlem
Skrivet av gibbon_:

Vissa av oss jobbar även som programmerare, och är det inte så att man arbetar på något lulzigt inhouse-verktyg så är prestanda ofta otroligt viktigt. Vare sig du gillar det eller ej så används diverse språk för en anledning, även om anledningen inte alltid är den bästa. Att sitta och rata språk kommer sällan ge dig något i längden däremot, det bara stänger dörrar.

Och visst är python och allt det där sött, men kom igen, är det inte kul att få antasta hårdvaran nästan med sina egna fingrar genom c++ då.

Jag bryr mig faktiskt inte om alla C++-dörrar stängs för mig.

Skrivet av MagnusL:

Arbetar du som programmerare? Eller har du ens arbetat på något större projekt? Prestanda har en väldigt stor betydelse i verkligheten.
En väldigt stor andel av den mjukvara som utvecklas körs på inbyggda system, där man har begränsade systemresurser.
För all seriös programmering, dvs. systemprogrammering, spelprogrammering, databasprogrammering, realtids-programmering m.m. så är prestanda väldigt viktigt.

Nej. Ja. Klart det finns ställen där prestanda är viktigt. Men inte för "all seriös programmering". T.o.m. för spelprogrammering är det inte alltid så viktigt.

Skrivet av Mikael07:

Prestanda är nästan alltid viktigt! Det är ju det som bestämmer till vilken grad vi kan använda våra datorer. I forskning och utveckling, för att nämna ett litet urval, används verktyg som kräver att man klämmer maximal prestanda ur varenda klockcykel. Eller om man ser på det omvänt, det finns i stort sett ingen övre gräns för hur mycket prestanda man kan tänkas behöva, så ju snabbare desto bättre.

Jag vet inte vad du menar med "till vilken grad vi kan använda våra datorer". Men det finns många användbara program som inte är skrivna i supersnabba språk. Dessutom finns det ju ofta bibliotek som är snabba men som man kan använda från segare språk, t.ex. numpy och scipy som är snabba på beräkningar, t.ex. matrismultiplikation och sånt, men som man kan använda via Python.

Skrivet av Mikael07:

Men vi pratar nog om olika saker, jag tror du syftar på programmering/programmeringsteknik som självändamål, hur pass "elegant" och utvecklat ett språk är. Jag menar att olika språk passar olika bra till olika uppgifter, och att funktionella språk inte är bäst på allt (idag). Men jag håller med om att C++ kan bli onödigt komplicerat och invecklat, och Java (vilket är för långsamt att använda inom högprestandaberäkning) skulle jag helst undvika helt och hållet.

Kanske lite grand, men inte bara. Det tar för mig, i alla fall, utan att överdriva, 50-100 gånger längre tid att skriva ett program i C++ jämfört med t.ex. Clojure. Och då kanske det tar 1-5 gånger längre tid att köra programmet. Det känns som en bra deal.

Permalänk
Medlem
Skrivet av tufflax:

Jag vet inte vad du menar med "till vilken grad vi kan använda våra datorer".

Ja det kanske var lite luddigt. Jag menar att prestandan möjliggör mycket av det vi använder datorerna till. Reducerad prestanda till följd av ett långsamt programspråk gör ju effektivt din dator "äldre", eller sämre (för någorlunda krävande applikationer).

Skrivet av tufflax:

Men det finns många användbara program som inte är skrivna i supersnabba språk. Dessutom finns det ju ofta bibliotek som är snabba men som man kan använda från segare språk, t.ex. numpy och scipy som är snabba på beräkningar, t.ex. matrismultiplikation och sånt, men som man kan använda via Python.

Exakt, och vilka programspråk tror du dom biblioteken är skrivna i

Skrivet av tufflax:

Kanske lite grand, men inte bara. Det tar för mig, i alla fall, utan att överdriva, 50-100 gånger längre tid att skriva ett program i C++ jämfört med t.ex. Clojure. Och då kanske det tar 1-5 gånger längre tid att köra programmet. Det känns som en bra deal.

Det beror på vem som använder det och hur det körs. För min del skulle ovanstående vara katastrof!

Permalänk
Skrivet av tufflax:

Kanske lite grand, men inte bara. Det tar för mig, i alla fall, utan att överdriva, 50-100 gånger längre tid att skriva ett program i C++ jämfört med t.ex. Clojure. Och då kanske det tar 1-5 gånger längre tid att köra programmet. Det känns som en bra deal.

När du säger att det tar 50-100 gånger så lång tid att skriva ett program, vad tänker du då på för typ av program? Quicksort?

I de flesta stora program som jag jobbat på så är det rätt liten del av tiden det tar att utveckla som är relaterat till vilket programmeringsspråk man använder, och mycket mer med komplexiteten i själva domänen. Självklart är det trevligt med ett språk som gör att tiden det tar att strukturera själva koden blir så liten som möjligt, men säg att du skriver ett "riktigt" program med användargränssnitt/-interaktion och annat så kan jag inte på något sätt förstå hur det kan ta 50-100 gånger så lång tid.

Permalänk
Skrivet av tufflax:

Jag vet inte så noga, och det är omöjligt att säga generellt, men Common Lisp och ML är rätt snabba. Clojure är nästan lika snabbt som Java, vilket också är rätt snabbt.

Det är inte omöjligt att säga rent generellt. Om du programmerar i assembler så kan du välja exakt vilka instruktioner som ska utföras i vilken ordning, medan om du använder ett högre-nivå språk så begränsas de sekvenser av instruktioner som du kan få datorn att utföra. Att skriva i assembler är alltså strikt kraftfullare, och om du har vissa specifika krav, t.ex. prestandamässigt, så kan det ha en betydelse.

Sen om det är rationellt eller ens möjligt för en människa att skriva stora/komplexa program i ett lågnivåspråk är en annan fråga.

Permalänk
Medlem
Skrivet av VirtualIntent:

När du säger att det tar 50-100 gånger så lång tid att skriva ett program, vad tänker du då på för typ av program? Quicksort?

I de flesta stora program som jag jobbat på så är det rätt liten del av tiden det tar att utveckla som är relaterat till vilket programmeringsspråk man använder, och mycket mer med komplexiteten i själva domänen. Självklart är det trevligt med ett språk som gör att tiden det tar att strukturera själva koden blir så liten som möjligt, men säg att du skriver ett "riktigt" program med användargränssnitt/-interaktion och annat så kan jag inte på något sätt förstå hur det kan ta 50-100 gånger så lång tid.

Många olika typer av program. Om du ska designa ett användargränssnitt, dvs inte programmera, då har programmeringsspråket självklart ingen betydelse, men jag pratar om tiden man faktiskt programmerar.

Skrivet av VirtualIntent:

Det är inte omöjligt att säga rent generellt. Om du programmerar i assembler så kan du välja exakt vilka instruktioner som ska utföras i vilken ordning, medan om du använder ett högre-nivå språk så begränsas de sekvenser av instruktioner som du kan få datorn att utföra. Att skriva i assembler är alltså strikt kraftfullare, och om du har vissa specifika krav, t.ex. prestandamässigt, så kan det ha en betydelse.

Sen om det är rationellt eller ens möjligt för en människa att skriva stora/komplexa program i ett lågnivåspråk är en annan fråga.

Men om man inte pratar om assembly, utan om t.ex. Java vs C, så beror det på vilket program man skriver, vilken kompilator man använder, och vilken dator man kör på.

Permalänk
Medlem
Skrivet av tufflax:

Populärt och bra är typ negativt korrelerade när det gäller programmeringsspråk. Java, C#, C++ är alla populära, men inte bra. Men i alla fall: Du borde lära dig nya spårk för att lära dig mer om programmering, inte bara för att det finns en stor efterfrågan.

"Scriptspråk" som är bra att kunna för att göra saker snabbt (fast inte bara, man kan göra mycket med dem): Perl, Ruby, Python
Populära språk (skitspråk): C++, C#, Java
Språk som ingen vill använda, men som man kan tjäna mycket pengar på pga. att banker använder det: COBOL
Bra, intressanta, och lär dig nått nytt: Erlang, Clojure, Haskell, Forth, Prolog

>Populära språk (skitspråk): C++, C#, Java
Du påstår alltså att C++, troligen det mesta använda och kraftfullaste språket(efter C då kanske?) som finns, där du jobbar direkt emot hårdvaran och där du faktiskt måste veta exakt vad du gör, är ett skitspråk?
Låt mig tala om vad som är riktiga skitspråk: Dem som du just nämde. Där du programmerar mot någon låssasmaskin/virituell hårdvara/OS. Dessa språk är inget annat är en lekstuga där allt redan är klart för dig. Du behöver inte veta hur du hanterar minnet, vad som skiljer olika datatyper ifrån varandra, eller hur OSet fungerar alls. Du använder heller sällan dessa s.k "String":s som dessa språk använder. I C++ sker allt via char arrays eller char pekare,(pekare används nästan uteslutande) klassen "string" som används är i sig inget mer än en dold version utav en char array då du lika gärna kan göra string aaa = "aaa"; aaa[2] = 'c';. Men då få klasser accepterar string varför fejka något.
Jag brukade vara en javaprogrammerare som skrev några nätverksapplikationer, GUIs, grafiska spel("Mario" och "Wreck It!") osv. Och tro mig, mind = blown när jag gick över till C++. Det var inte en lätt övergång.

Jag säger inte att C++ är bättre för att det är svårare, men jag säger att om du hade förstått lite mer grundläggande om vad som skiljer dessa språk åt, hur en dator fungerar och även hur program körs/dess hirarki, så hade du förstått varför C och C++ är dem mest använda språken idag som alla stora program är skrivna i dem.

Försök inte att rätta folk om du inte kan någonting inom ämnet.
Och ja, denna kommentar blev av nerdrage typen.

Visa signatur

[i]Those who don't understand UNIX are condemned to reinvent it, poorly. – Henry Spencer [/i]
[i]“Programmers are in a race with the Universe to create bigger and better idiot-proof programs,
while the Universe is trying to create bigger and better idiots.
So far the Universe is winning.”
[/i]

Permalänk
Medlem
Skrivet av kira9204:

>Populära språk (skitspråk): C++, C#, Java
Du påstår alltså att C++, troligen det mesta använda och kraftfullaste språket(efter C då kanske?) som finns, där du jobbar direkt emot hårdvaran och där du faktiskt måste veta exakt vad du gör, är ett skitspråk?
Låt mig tala om vad som är riktiga skitspråk: Dem som du just nämde. Där du programmerar mot någon låssasmaskin/virituell hårdvara/OS. Dessa språk är inget annat är en lekstuga där allt redan är klart för dig. Du behöver inte veta hur du hanterar minnet, vad som skiljer olika datatyper ifrån varandra, eller hur OSet fungerar alls. Du använder heller sällan dessa s.k "String":s som dessa språk använder. I C++ sker allt via char arrays eller char pekare,(pekare används nästan uteslutande) klassen "string" som används är i sig inget mer än en dold version utav en char array då du lika gärna kan göra string aaa = "aaa"; aaa[2] = 'c';. Men då få klasser accepterar string varför fejka något.
Jag brukade vara en javaprogrammerare som skrev några nätverksapplikationer, GUIs, grafiska spel("Mario" och "Wreck It!") osv. Och tro mig, mind = blown när jag gick över till C++. Det var inte en lätt övergång.

Jag säger inte att C++ är bättre för att det är svårare, men jag säger att om du hade förstått lite mer grundläggande om vad som skiljer dessa språk åt, hur en dator fungerar och även hur program körs/dess hirarki, så hade du förstått varför C och C++ är dem mest använda språken idag som alla stora program är skrivna i dem.

Försök inte att rätta folk om du inte kan någonting inom ämnet.
Och ja, denna kommentar blev av nerdrage typen.

Hur definierar du kraftfullt när det gäller programmeringsspråk?

Hur definierar du "direkt mot hårdvaran", och varför är det bättre?

I hela mittdelen av ditt inlägg förklarar du bara varför C++ är svårare, inte varför det är bättre.

Av vilken anledning blev ditt "mind = blown" när du gick över till C++? Jag blev inte mycket klokare av att läsa det.

Jag förstår vad som skiljer språken åt, och hur en dator fungerar, ganska väl. Kan du förklara vad jag har missat? Och hur vet du att alla stora program är skrivna i C och C++?

Permalänk
Medlem

C# eller Java är väldigt vanligt förekommande baskrav. Det brukar inte spela någon roll vilken du kan dock, då de är tämligen lika. Vårt företag kör uteslutande C#, men vi plockar in Java-folk lika gärna då det går fort för dem att komma igång.

Om du kan följande så får du jobb i princip var som helst:

  • C/C++ (för strikt prestandainriktat arbete)

  • C# eller Java (för allt annat)

  • JavaScript, gärna kryddat med jQuery

  • Html & css, gärna med fokus på tillgänglighet (accessibility)

  • Sql, åtminstone rudimentärt

Php kan förstås också vara en idé, om du känner att du verkligen kommer stå ut att jobba med det. Personligen hatar jag det.

Att .NET skulle vara på väg att dö ut tror jag inte ett skvatt på. FUD. Då är nog Java mer i riskzonen, speciellt med tanke på vad jag hör i min bransch (i huvudsak ECM, men även mycket offentlig sektor).

Självklart är förstås det viktigaste inte språket, utan att du behärskar god programmeringsteknik. Missa inte att läsa upp om datastrukturer, och se för attan till att lära dig rekursion, t.ex. Jag blir så less på folk som inte begriper rekursion och tar till alla möjliga konstigheter för att lösa problemet.

Underskatta inte heller html/css/javascript, det är många som ser det som "trams som man lär sig skitlätt vid behov". Det stämmer ytterst illa. Behöver jag säga att jag även är fruktansvärt less på att korrigera folks skitdåliga html-gegga?

Visa signatur

5950X, 3090