Inlägg

Inlägg som anon252733 har skrivit i forumet
Av anon252733

Det räckte att få använda utvecklartelefonen på jobbet en gång och detta var förutsägbart. Inte på grund av det som faktiskt fanns på telefonen utan pga allt som inte fanns.

Av anon252733

Vet inte hur jag blev inblandad men det du skriver är självklara saker och ser inte att jag sagt mot det? Jag gav bara +1 för social kodning för många på den tidan jag gick på Chalmers satt själva i ett hörn med sin lösning livrädda för att bli anklagade för fusk när fuskvågen gick på Chalmers. Den kod man möter i systemen i fält however idag är långt klinisk och sanningen är ju att det finns många många fler mindre bra programmrare än det finns universitetskliniska och det som antagligen åsyftades i Garumentals inlägg var att om man ska prioritera så är läsbarhet något som ligger för långt ner på listan så det varken bir effektivt för människan eller maskinen men jag vet inte. Jag råkade bara ha vägarna förbi av ren slump

Skrivet av Yoshman:

@Garumental och @Wienerschnitzel

Håller med om att man måste skriva kod med tanke på att man läser den långt oftare än den skrivs, är därför det är totalt irrelevant om något går att skriva några rader kortare i ett språk jämfört med ett annat. Det erfarenhet visar är att explicit är bättre än implicit (trots att de förra typiskt ger lite mer kod).

Håller däremot inte med om att effektivitet är irrelevant. Dels betyder mer effektiv kod idag längre batteritid på mobila enheter och färre spenderade cykler i "molnet" (där tar man ofta betalat för CPU-tid). Dels ska man alltid lösa varje givet problem med ansatsen "do the simplest thing that could possibly work" (som vissa blandar ihop med "det första de kommer på"), min erfarenhet är att enkla lösningar kommer av att programmeraren förstår problemdomänen och enkla lösningar typiskt också är bland de mest effektiva (men uppenbart att många programmerare sovit sig igenom kurserna som behandlar algoritmer och abstrakta datatyper...).

Anta att er lärare hade rätt och effektivitet är irrelevant. Förklara då alla resurser som plöjts ner i JIT för Java, varför är "effektivitet" den egenskap Apple trycker hårdast på i Swift, varför startade Google ett projekt för ett språk som effektivt hanterar "concurrent programmering" (Go), varför försöker folk lura ut hur delar av program kan köras på GPUer, etc?

Skriver man program där effektivitet är irrelevant skriver man antagligen inget mer än lite klister mellan ett gäng middle-wares. Man har då istället spenderat resurser (pengar) på att inhandla middle-wares där utvecklarna typiskt lagt signifikant tid på att göra något effektivt, varför skulle man annars använda middle-wares?

OOP är definitivt ingen silver bullet, det passar väldigt bra till simuleringar, GUI-programmering och liknande. OOP är ren katastrof ihop med parallel programming och concurrent programmering (som inte är samma sak) då metodanrop är associerade med ett implicit tillstånd (objektet) och inte självklart hur det tillståndet ska hanteras mellan trådar (OOP trycker på inkapsling av tillstånd, parallel/concurrent absolut kräver explicit kunskap om hur data representeras och potentiellt modifieras). OOP har aldrig heller resulterat i speciellt återanvändbar kod, något som Erlangs skapare gillar att påpeka

"I think the lack of reusability comes in object-oriented languages, not functional languages. Because the problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle."

Ser inte heller hur Java och C# skulle på något sätt skulle ha en signifikant högre abstraktionsnivå än C. Språk som Clojure, Haskell och Rust har definitivt en högre abstraktionsnivå, t.ex. omöjliggör språken race-conditions om man inte explicit åsidosätter det. Men lägger man till GC till C (vilket kan göras via bibliotek) så är det bara bristen på "boundary checks" och lite syntaktiskt socker (som inte alltid är en fördel, implicit vs explicit) som skiljer C från de andra.

OOP är ett sätt att strukturera sitt program, inte en egenskap i något specifikt språk. Förstår man OOP kan man använda det när det är vettigt även i C, både i form av polymorfism via arv (är lite syntaktisk lite bökigare än C++/Java/C#) och likt JavaScripts "prototype-based" polymorfism (klart enklare i C och den metod jag oftast använder).

Av anon252733

Social kodning ska ha +1! Väldigt ofta när jag var handledare på Chalmers så fick jag arga mail ifrån eleverna som tyckte att hen hade en bra lösning som jag underkänt men om eleven har den inställningen när en handledare som ser DÅLIG kod dagligen säger annorlunda så visar det att eleven har fel approach precis som du skriver. Det är mycket viktigare att andra uppskattar och förstår lösningen än att den som själv skrivit den anser det är det bästa som någonsin skrivits, eller i som i detta fallet "Good enough för 3;a". Läsbarhet och att snabbt kunna resonera kring kod och dess sidoeffekter i OO-språk är tillsammans med JRebel helt ovärderligt

Skrivet av Garumental:

Programmeringsspråk som C#, Java och javascript är bara att rekommendera för du kommer i 9/10 fall stöta på dem. C och C++ ser du sällan om aldrig i nyutveckling förutom på hårdvarunära komponenter idag är min erfarenhet, med det beror på om du vill läsa data eller IT iofs samt om du vill vara delaktig i den öppna källkodens värld med Linux. Data sitter närmare metallen än vi som klassas som IT som sitter bortskämt och litar på kompilatorn för vi har ofta mer kraft än vi behöver i maskinerna om man inte skriver riktigt jädra dålig kod.

Inom IT så är läsbarhet och underhåll av kod många många gånger viktigare än ren prestanda. Mina professorer på Chalmers brukade säga att datorn skiter i hur din kod ser ut med hur många mellanrum eller tabbar du har, om du har camel eller snake case, om du skriver ett tecken per rad om man du har tecken som indikerar uttrycksslut för den bryter ner det till instruktioner osv till bitströmmar som genomgått många lager av effektivisering som 9/10 programmerare inte själva skulle komma ihåg eller göra så koden du skriver är i första hand till för oss människor så se till att dina kamrater och kollegor kan läsa vad metoden gör på under en halv minut. Om så inte är fallet så skriver du DÅLIG kod som ska refaktoriseras så först när du och andra kan läsa ut vad en metod gör på några få sekunder kan vi börja diskutera kodkvalité, lagom antal rader och testbarhet för funktionsverifiering. Med tiden inser man att det finns flera hundra sätt att programmera precis samma sak på och minst lika många grupperingar av programmerare som anser att hennes sätt är det rätta in terms of språk och läsbarhet.

Summering: lära sig språket C skulle jag inte prioritera över Java eller C#. Framförallt så måste du koda socialt och inte bara skriva så du själv förstår för det är HELT irrelevant för en programmerare Det tål även att nämna att dig&dat, maskinorienterad programmering och digitalteknik var kurserna på Chalmers som gav mig mest uppenbarelse om programmering när man fick skriva program i assembler som man sedan översatte till C-kod samt att man fick program skrivna i C-kod som man sedan skulle skriva om till långa sidor med assembler. Imao otroligt bra övning i att förstå varför man bör uppskatta varje abstraktionsnivå, framförallt t ex Java och C# som skämmer bort dig. Programming Paradigms är också en trevlig kurs på Chalmers sedan där du får program skrivna i språk X som du sedan ska översätta till en fyra fem andra språk. Görkul!

Av anon252733

Var det vekligen rätt filer som du skickade upp? Det är många småfel i dem nämligen. Som att du har en måsvinge för mycket i main. Du har inte avslutat #ifndef etc? Är det sådana problem du har?

Hur ofta kompilerar du och kör programmet när du programmerar om såhär många kompileringsfel kan hitta sig in. Du är väldigt ny inom programmering och det jag kan säga är att du måste gå mycket mindre steg. Kompilera oftare, se var problemen uppstår och printf;a MYCKET!

EDIT: Jag tittade lite mer på koden och behöver ett ärligt svar om jag ska kunna hjälpa dig. Vet du vad du vill uppnå och har du ctrl-c;at delar för den kod du har länkat i filerna ovan säger att du är förvirrad.

Av anon252733

Recension

För den superintresserade så har thinkscopes lagt ut en recension på den nya X1 carbon nu och det var som Garumental påpekade. Read/Write med samsungs M.2 är ~1400MB/s. Det går undan Kerstin! LTE 100 Mbps och WLAN 867 Mbps vPRO.

Av anon252733
Skrivet av FeedHurley:

Jag tror nog det finns goda möjligheter att sälja den om allt är i nytt skick. Jag köpte en T440s (ny) för ett par månader sen och letade innan dess efter begagnade X1, X250 och T440s på blocket men hittade bara skumma annonser...

Nog för att X1 knappt är en thinkpad i avseende på stryktålighet men den är nog mer hållbar än de flesta ultrabooks!

Det var roligt att höra. Jag tänkte just på att det som gör en thinkpad så speciell för mig är just den lättanvända trackpointen så at händerna aldrig behöver lämna tangentbordet. Den är helt enkelt otroligt enkel att använda även i jättekonstiga lägen som på flygplan, bussar och tåg i u-länder när man sitter trångt och man slipper böja ner fingrarna och leta efter en touchpad samt att man har en scroll i mitten med en middle mouse. Detta är ju gen 2;s svagheter då den totalt eliminerat den biten. T440s har ju även ett riktigt tangentbord och inte den knasiga touchbaren som gen 2 har som ersatte alla F-tangenterna. Men som sagt hittar jag någon som inte är intresserad av thinkpads ergonomi utan bara simply en laptop så kanske jag kan få en slant för den. Angående styrktålighet så vet jag inte om någon laptop jag ägt haft problem. Har aldrig ägt billigare laptops vilket kan vara värt att nämna och man får ju ofta vad man betalar för så länge man inte är dum Tappar ofta laptopar och råkar hälla vatten över dem men det blir ofta bara småproblem som jag kan fixa (eller garantin) och vatten fixar jag lätt med lite Silica gel. YOLO = prova garantin

Av anon252733
Skrivet av Garumental:

Arv tror jag du får sikta på eller hitta någon som egentligen skiter i vad man äger för laptop för ingen thinkpadälskare kommer köpa den och då borde även priset sjunka eftersom gemene man inte uppskattar TPM, 4G-moduler, trackpoint buttons och liknande goodies.

Exakt så jag resonerar också. Business laptops som inte fungerar som sådana brukar vara svåra att sälja över huvud taget. Speciellt i andra hand Om ingen i släkten behöver den så kanke jag slänger ut den i sweclockers marknad för en 4000 istället för att lägga den på tippen. Lenovo borde haft en tjänt där man kan skicka tilbaka den gamla generationen mot någon tusing rabatt på den nya så de i alla fall kunnat återanvända lite av det jag kommer ha över nu för no way in hell att jag skulle sitta kvar på gen 2 när gen 3 finns i butik

Av anon252733

Kommer köpa och uppgraderar ifrån 2014 (gen 2) och det ska bli skönt! men funderar om man ens kan få sålt den gamla ifrån 2014. Man får verkligen ha låga krav för att acceptera den nu när den nya träder in då gen 2 saknar så otroligt mycket. Kanske får passa ner den i ledet till någon släkting som inte vet skillnaden.

Av anon252733
Skrivet av Gibbe:

Less is more? :/
Apple tycks sakna finess med det mantrat och gått överstyr sedan Steve Jobs bortgång.

När allt ska slimmas såpass att inte ens en 3,5mm-ljudplugg får plats har det gått för långt. Jag förstår affärstänket med att sälja dapatrar, men vad tusan är poängen med en superslimmad dator när en måste ha med sig en hög extrasladdar och adaptrar som knölar till maskinen väsentligt för att kunna använda det mest elementära?

Jag tror - nej, hoppas att det slår tillbaka på dem, så sådan skit inte blir standard hädanefter.

Jag håller med men jag kan inte förstå att 3.5-pluggen måste bort på grund av "platsbrist"? Låter ju helt ofattbart Jag menar min ipad mini och iphone har plats för 3.5-plugg. Visserligen finns det blåtandlurar men avsaknad av 3.5;a måste vara ett skämt?

Av anon252733

Tänk vad mycket Linus kunde få sagt om han inte uttryckte sig och använde ett språk som lokala alkis-Bosse på bänken