Inlägg

Inlägg som mrcarrot har skrivit i forumet
Av mrcarrot

OpenBSD

Jag kör själv OpenBSD på alla servrar. OpenBSD ökar verkligen på säkerheten av många orsaker. Människorna bakom OpenBSD är paranoida och går mer igenom koden än någon annan. Därför har dom haft bara 2 säkerhetshål på mer än 10 år. Det finns ingen brandmur som är mer trevlig att skriva regler för än PF (också från OpenBSD-utvecklarna). Det är också OpenBSD som har skapat openssh (som används av alla linux distributioner). Webservern kör som standard i en egen chroot, vilket gör att om den hackas kommer en hackare åt nästan ingenting.

Oberoende av OS så är ett system sårbart i en dålig administrators hand, men risken att misslyckas är mindre med OpenBSD.

OpenBSD är också väldigt lätt att administrera och det finns färdiga paket till nästan vad som helst. Bara att skriva pkg_add -i <namn på paket>

Av mrcarrot

Angående haskell, så får man tillägga att funktonell programmering dyker mer och mer upp i de traditionella imperativa språken, så att lära sig haskell är till fördel. Med haskell blir man tvungen att lära sig tänka på ett annat sätt som man har till nytta i de flesta andra språk. Nya c++-standarden (c++11) tar till och med in delar av funktionell programmering. Rå c++ är snabbare för små handoptimerade projekt, men Haskell har en stor fördel i stora projekt då ett program kan automatiskt utnyttja alla kärnor i processorn (ghc -threaded) och slutresultatet är därför också många gånger snabbare än ett standard c++ program som bara kör på en kärna. (Jag vet att man kan göra trådade c++ program och har skrivit sådant också, men nu menar jag inte det utan vad kompilatorn gör automatiskt för dig)

Av mrcarrot

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.

Av mrcarrot

Haskell, LISP eller Python

Hej,
har varit än längre tid i branchen och tycker med se mer och mer att funktionella språk kommer tillbaka på flera sätt. För det första så tar många programmeringsspråk in funktionella ideer. För det andra har intresset för rena funktionella språk ökat. Den nya C++ standarden tar till och med in lamda-funktioner!

Fördelen med funktionell programmering är mindre risk för programmeringsfel. Koden blir nästan alltid kortare för program skivna i funktionella språk. För en som är van med imperativ ("vanliga" programmeringsspråk) är funktionell programmering svårt att greppa. För en som är helt nybörjare tror jag inte att det är mycket svårare att förstå.

Själv rekommenderar jag Haskell. Det är ett starkt växande funktionellt språk med mycket vänligt community. Här finns en bra guide: http://learnyouahaskell.com/

En mera traditionell väg till funktionell prorgammering skulle vara LISP. Boken "Land of LISP" lär dig programmera LISP ett spel i taget.

Om du vill programmera något mer "vanligt"/imperativt så är Python vägen att gå. T.ex. Google använder det väldigt mycket. Python stöder många ideer från funktionella språk, men klassas ändå som ett imperativt språk.