Ubuntu Sverige https://ubuntu-se.org/phpBB3/ |
|
Guider och länkar för programspråk https://ubuntu-se.org/phpBB3/viewtopic.php?f=35&t=13808 |
Sida 1 av 1 |
Författare: | DrMegahertz [ 30 jul 2007, 12:42 ] |
Inläggsrubrik: | Guider och länkar för programspråk |
Här samlar vi på länkar och guider för dom som vill lära sig programmera och/eller friska upp sitt minne. Lämna hemskt gärna (konstruktiv ![]() ![]() Observera att detta är en tråd för att samla ihop information om olika programmeringsspråk, därför ber jag er att inte ställa frågor angående programmering i den här tråden! C Ett mycket populärt, kraftfullt och snabbt programspråk som gett inspiration till många modernare språk. Linux är skrivet i C. ![]() Komma igång! Programming in C cprogramming.com's C Tutorial Referenser The C Library Reference Signalhantering i Linux GCC C Extensions CProgramming.com Gasol's kompileringsguide Kodexempel Kod: #include <stdio.h> int main() { int n; for(n=0; n < 10; n++) { printf("Hello %d!\n", n); } return 0; } C# Objektorienterat "högnivå" språk. Ursprungligen skapat av M$ för sin .NET plattform. Porterat och frigjort via minst två olika projekt (dotGnu och MONO). Installation sudo apt-get install monodevelop Komma igång Learning Programming with C# The Mono Handbook Kodexempel Kod: using System; class MainClass { public static void Main(string[] args) { Console.WriteLine("Hello World!"); } } C++ Ett mycket kraftfullt och snabbt programspråk med stöd för objektorientering på låg nivå. Wikipedia/C++ Komma igång! C++-Manual på Svenska C++ Language Tutorial Blinkenlights nybörjarguide i C++ Blinkenlights nybörjarguide i C++ Fortsättning Referenser C++ Reference C++ Library Reference Kodexempel Kod: #include <iostream> using namespace std; int main(int argc, char **argv) { for(int n=0; n < 10; n++) { cout << "Hello " << n << '!' << endl; } return 0; } Java Ett plattformsoberoende, objektorienterat språk som liknar C/C++ men till skillnad från dem så har Java en del underlättande funktioner såsom automatisk skräphantering.Wikipedia/Java Komma igång! Wikibumba/Java Creating a GUI with JFC/Swing Referenser Java 6.0 API Reference Kodexempel Kod: public class Hello { public static void main(String[] args) { for(int i = 1; i < 10000; i++) { System.out.println("Hello " + i); } } } Perl Ett snabbt skriptspråk som lämpar sig väl för stränghantering, CGI-skript och automatiserat systemunderhåll(mm.).Wikipedia/Perl Installation sudo apt-get install perl Komma igång! Beginner's Introduction to Perl The perl.org Online Library Kodexempel Kod: #!/usr/bin/perl for $n (0..9) { print "Hello $n!\n"; } Python Ett kraftfullt men enkelt skriptspråk med ett rikt standardbibliotek och en bred community. Wikipedia/Python Installation sudo apt-get install python Komma igång! Python Tutorial Bli ormtjusare - En nybörjarguide på svenska Ett gäng guider för icke-programmerare Ett gäng guider för programmerare Instant Hacking Referenser Python och Jag - Uppslagsverk för Python på Svenska Python Library Reference Extending and Embedding the Python Interpreter Python C API Reference Kodexempel Kod: #!/usr/bin/python for n in range(10): print "Hello %d!" % n Ruby Ett rent objektorienterat skriptspråk som inspirerats av bland annat Perl och Python. Wikipedia/Ruby Installation sudo apt-get install ruby irb Komma igång! Poignant Guide to Ruby Programming Ruby - The Pragmatic Programmer's Guide Ruby på 20 Minuter Ruby från andra språk Referenser Ruby Core Reference Ruby Standard Library Reference Ruby C API Reference Kodexempel Kod: #!/usr/bin/ruby 10.times { |n| puts "Hello #{n}!" } Tack till gasol, per9000 och Joe för länkar och kodexempel! |
Författare: | Luxwarp [ 15 dec 2007, 22:38 ] |
Inläggsrubrik: | SV: Guider och länkar för programspråk |
Hejsan, skall du inte nämna HTML, PHP, CSS, ASÅ osv?:) |
Författare: | upnorth [ 15 dec 2007, 22:42 ] |
Inläggsrubrik: | SV: Guider och länkar för programspråk |
stampe skrev: Hejsan, skall du inte nämna HTML, PHP, CSS, ASÅ osv?:) Möjligtvis PHP. HTML och CSS hör till webbdesign. |
Författare: | Luxwarp [ 20 dec 2007, 03:22 ] |
Inläggsrubrik: | SV: Guider och länkar för programspråk |
upnorth skrev: stampe skrev: Hejsan, skall du inte nämna HTML, PHP, CSS, ASÅ osv?:) Möjligtvis PHP. HTML och CSS hör till webbdesign. aa kom på det när jag såg webdesign tavlan:) |
Författare: | fisfia [ 21 apr 2008, 11:06 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
Nån som har en vettig LaTeX-guide? Alla jag läst hittills har varit så svåra att fatta eller så har de varit allt för omfattande. Jag skulle vilja ha nåt enkelt! ![]() |
Författare: | Lars [ 21 apr 2008, 11:09 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
Kolla in http://ubuntu-se.org/wiki/Program/LaTex och länkarna där. |
Författare: | fisfia [ 21 apr 2008, 11:20 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
Lars skrev: Kolla in http://ubuntu-se.org/wiki/Program/LaTex och länkarna där. Tusen tack. Jättebra! Och på svenska! Så lyxigt. |
Författare: | Dendrite [ 07 jun 2008, 21:37 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
Finns det inte nånting som heter R? Och Fortran, hur är det med det? Vad lämpar det sig till? Är det objektorienterat? |
Författare: | gasol [ 07 jun 2008, 22:35 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
Dendrite skrev: Finns det inte nånting som heter R? Och Fortran, hur är det med det? Vad lämpar det sig till? Är det objektorienterat? Fortran är ett imperativ språk precis som te.x. C. Fortran brukar används på paralleldatorer om jag inte minns fel. R är ett programmeringsspråk som används för att göra statistiska beräkningar. edit: hehe kollade upp Fortran, senaste versionen (2003) har visst stöd för objektorientering ^_^ |
Författare: | Pinky [ 14 jul 2008, 20:21 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
Jag är på jakt efter några bra guider för Java EE och Java ME (enterprise edition & micro edition). Någon som vet någon bra sida? |
Författare: | AJxn [ 26 okt 2008, 04:51 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
gasol skrev: Dendrite skrev: Finns det inte nånting som heter R? Och Fortran, hur är det med det? Vad lämpar det sig till? Är det objektorienterat? Fortran är ett imperativ språk precis som te.x. C. Fortran brukar används på paralleldatorer om jag inte minns fel. R är ett programmeringsspråk som används för att göra statistiska beräkningar. edit: hehe kollade upp Fortran, senaste versionen (2003) har visst stöd för objektorientering ^_^ Fortran är som Cobol. Det existerar fortfarande för att mycket kod är skrivet i det. Fortran används, som du skriver, främst för matematiska/tekniska beräkningar. C++ är det språk som tagit över efter Fortran när man nyutvecklar sådan programvara. Skall man programmera parallellt, så bör man använda sig av Erlang. Ett språk som, till skillnad från alla andra populära språk, har processhantering inbyggt i språket och på ett smidigt sätt kommer runt problem med dead locks etc. När Java och C# gett upp, så fortsätter Erlang att skapa ett par 10 000 fler processer innan det ger upp. Se hemsidan för mer information. Kod: % Testprogrammet -module(test1). -export(test_pgm1/0). % test_pgm1/0 test_pgm1() -> test_pgm1(10). % Antal argument är viktigt. test_pmg/0 och test_pgm/1 är olika funktioner % test_pgm1/1 test_pgm1(0) -> % basfall, vi är klar ok. test_pgm1(N) -> % rekursionsfall, vi anropar test_pgm1/1 igen med nästa värde N1 = N - 1, io:format("N = ~w~n", [N]), test_pgm1(N1). |
Författare: | AJxn [ 26 okt 2008, 05:17 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
DrMegahertz skrev: C++ Ett mycket kraftfullt och snabbt programspråk med stöd för objektorientering på låg nivå. Wikipedia/C++ C++ är härstammande från Simula (och C). Likheten mellan C++ och Simula är att objektorienteringen inte genomsyrar språket fullt ut. Mycket är statiskt bestämt vid kompileringen och inte vid exekveringen. Vilket ofta ger effektivare maskinkod, men statiskare program. Citat: Java Ett plattformsoberoende, objektorienterat språk som liknar C/C++ men till skillnad från dem så har Java en del underlättande funktioner såsom automatisk skräphantering.Wikipedia/Java Java har inspirerats från Smalltalk och Objectiv C, inte från C++ som många verkar tro. Interface och avsaknad av multipelt arv har Java direkt från Objective C. C++ har inte Interface men däremot multipelt arv. Citat: Ruby Ett rent objektorienterat skriptspråk som inspirerats av bland annat Perl och Python. Wikipedia/Ruby Ruby har inspiration från Smalltalk, och inte så mycket från Python (Perl? möjligen reguljära uttrycken). ALLT är objekt i Smalltalk och Ruby, till och med tal och programkod. I huvudsak kan man härleda alla objektorienterade programmeringsspråk till antingen Simula (det första objektorienterade programmeringsspråket) eller Smalltalk (det andra stora tidiga objektorienterade programmeringsspråket). Simula bestäms det mesta vid kompileringen, vilket ger ett mer statiskt program. I Smalltalk så bestäms vilken kod som skall exekveras vid exekveringstillfället, vilket ger ett mer dynamiskt beteende, men inte lika beräkningseffektivt. Länkar om Objective C Smalltalk.org, sida om Smalltalk Sida om Simula |
Författare: | Jojan [ 22 jan 2009, 17:54 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
Prolog Programmeringsspråk för logikprogrammering. Mycket skoj att pilla med, och väldigt snabbt. Jag tror inte man behöver ha någon superkoll på logik för att progammera, men viss kunskap behövs för djupare förståelse. Det man i princip gör är att säga vad som är sant, och vilka samband som ska gälla. Sen gör programmet sitt bästa för att hitta en lösning åt dig. Komma igång! comp.lang.prolog - FAQ Referenser Free Online Prolog Tutorials On-line guide to Prolog Programming GProlog SWI Prolog Kodexempel Kod: % Supervanligt typ av exempel. kind(Alex). kind(Jan). kind(Lars). handsome(Lars). handsome(Sven) funny(Alex). funny(Lars). perfect(X) :- kind(X), handsome(X), funny(X). Kod: % Svårare exempel % Några ord. words0(["TUTOR","EARLY","HOOEY","DODGE", "DITTO"]). words1(["DITCH","TUTOR","EARLY","HOOEY","DODGE", "DITTO", "DITCH","TUTOR","EARLY","HOOEY","DODGE", "DITTO"]). words2(["DITCH","TUTOR","EARLY","HOOEY","DODGE", "DITTO", "RITAR", "HEJSAN"]). words3(["DITCH","TUTOR","EARLY","HOOEY","DODGE", "DITTO", "APRON", "ALLAH", "HELLO", "LOLIN", "ROLIL", "NANRO"]). % Andra Prologlaborationen i kursen Programmeringsparadigm 2008 % crossword/2 tar en lista med strängar (om fem tecken) som indata och unifierar % dessa till ett passande korsord crossword(Fa,R) :- select(T1,Fa,Fb), select(T2,Fb,Fc), first(T1, A), first(T2, A), select(T3,Fc,Fd), third(T1, B), first(T3, B), select(T4,Fd,Fe), fifth(T1, C), first(T4, C), select(T5,Fe,Ff), third(T2, D), first(T5, D), third(T3, F), third(T5, F), third(T4, H), fifth(T5, H), select(T6,Ff,_), fifth(T2, E), first(T6, E), fifth(T3, G), third(T6, G), fifth(T4, I), fifth(T6, I), R = [T1,T2,T3,T4,T5,T6]. % Sätter allt i en lista % write_crossword/1 får en lista som den skriver ut write_crossword(R) :- first(R,T1), second(R, T2), third(R, T3), fourth(R,T4), fifth(R, T5), sixth(R,T6), format(T1,[]),nl, second(T2,Aa), second(T3, Ab), second(T4,Ac), format([Aa,32,Ab,32,Ac],[]),nl, format(T5,[]),nl, fourth(T2,Ba), fourth(T3, Bb), fourth(T4,Bc), format([Ba,32,Bb,32,Bc],[]),nl, format(T6,[]),nl. % Genväg till "new line". nl :- format("\n",[]). % Returnerar första-sjätte värdet i en lista. first([A|_], A). second([_|A], B) :- first(A,B). third([_|A], B) :- second(A,B). fourth([_|A], B) :- third(A,B). fifth([_|A], B) :- fourth(A,B). sixth([_|A], B) :- fifth(A,B). Jag tycker SWI Prolog är bättre. Men om man vill använda GNU Prolog så kan man göra det. Kod: sudo apt-get install swi-prolog Kod: sudo apt-get install gprolog Haskell Mycket snabbt beräkningsspråk. Relativt simpelt att förstå sig på och ganska likt så man skriver i matematik. Bäst för beräkningar, men kan mycket annat. Komma igång! Haskell Wiki Haskell Tutorial Haskell för C-programmerare Referenser Hugs 98 Glasgow Haskell Compiler Kodexempel Kod: -- Snabbt exempel -- Rekrusiv metod för att beräkna Fibonaccital fib :: Integer -> Integer --För att klara stora tal används Integer fib n | n <= 0 = 0 -- är n = 0 så returneras 0 | n == 1 = 1 -- är n = 1 så returneras 1 | otherwise = fib(n-1)+fib(n-2) -- rekrusiv bit Kodexempel Kod: -- Svårare exempel -- Hitta längsta ordet i en mening import Char maxord :: String -> Int maxord s = help 0 0 s help :: Int -> Int -> String -> Int help n m [] | m > n = m -- Fallet för tom lista | otherwise = n help n m (c:s) | isAlpha c = help n (m+1) s | m > n = help m 0 s | otherwise = help n 0 Jag tycker GHC är bättre. Men om man vill använda Hugs så kan man göra det. Kod: sudo apt-get install ghc Kod: sudo apt-get install hugs |
Författare: | Substrata [ 13 apr 2010, 14:48 ] |
Inläggsrubrik: | Clojure |
Clojure är ett nytt språk och en modern implementation av Lisp för JVM. Det har direkt tillgång till hela javalib och är särskilt riktad mot multitrådad programmering. Clojure står på på funktionell programmering över immutable data, för att undvika låsningar trådar emellan; i stället implementeras en STM. Lisp har en uniform prefix-syntax strukturerad i listor av listor; alltså träd. Några exempel: Kod: (+ 1 1) => 2 (* (+ 1 2) (+ 4 5)) => 27 (apply str (reverse "Hello, world!")) => "!dlrow ,olleH" Clojure har direkt tillgång till Java. Objekt av olika klasser kan instantieras samtidigt som dess metoder definieras. Följande funktion anropas med valfri rendreringsfunktion som argument, och ger en JPanel med överriden Jpanel.paint(graphics): Kod: ; (graphics -> nil) -> javax.swing.JPanel (defn panel [render-fn] (proxy [JPanel] [] (paint [g] (render-fn g)))) Ett fönster till detta: Kod: ; (graphics -> nil) -> javax.swing.JFrame (defn frame-with-panel [render-fn] (doto (new JFrame) (.setContentPane (panel render-fn)) (.show))) Så att Kod: (frame-with-panel (view-scene scene1)) Clojure implementerar lata sekvenser. Att en sekvens är lat innebär att "nästa element" inte är utvärderas förrän dess värde används. Med detta kan vi definiera oändliga sekvenser ur vilka vi bara är intresserade vissa delmängder, och med vilka vi kan iterera över godtyckligt genererade datamängder. Standarden ger exempelvis funktionen repeat: n -> (n n n ...), vilken vi kan tillämpa: Kod: (take 3 (repeat 1)) => (1 1 1) och iterate: f n -> (n (f n) (f (f n) ...), som i: Kod: (take 3 (iterate inc 1)) => (1 2 3) En rekursivt definierad följd som fibonaccitalen kan vi i Clojure uttrycka som en oändlig sekvens: Kod: ; number-a number-b -> number-sequence (defn fib-seq [a b] (cons (+ a b) (lazy-seq (fib-seq (+ a b) a)))) => (take 5 (fib-seq 1 1)) (2 3 5 8 13) Lata sekvenser utvärderas till konstanter: referenserna till elementen utvärderas bara en gång. Vi kan därmed memoisera sekvenser genom att hålla en referens: Kod: (def fibs (concat [1 1] (fib-seq 1 1))) Vid bruk märks alltså skillnaden: => (time (dorun (take 100000 fibs))) "Elapsed time: 8521.250263 msecs" => (time (dorun (take 100000 fibs))) "Elapsed time: 141.765916 msecs" Det finns stödmoduler för Clojure till bland annat Eclipse, Emacs och Vim. |
Författare: | Substrata [ 15 nov 2010, 22:44 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
D är ett språk under full utveckling som aspirerar mot samma domän och kraftfullhet som C++, men utan dess syntaktiska problematik. D är kompilerat (Linux, Windows, OS X...), statiskt typat, har kraftfulla templates och anammar passligt funktionell programmering, vilket bland annat verkar ge en bättre STL. Min egen husgud inom C++, Andrei Alexandrescu, släppte i år en bok om D med förord av Scott Meyers. Båda har skrivit böcker om C++ som jag brukar rekommendera, och nu omfamnar de även D. I dag har jag satt mig ned och knådat lite kod. Här är ett program som listar alla exekverbara filer i PATH. Kod: import std.algorithm; import std.array; import std.file; import std.stdio; import std.string; import std.process; import core.sys.posix.sys.stat; // for stat.st_mode bool isExecutable(string p) { return isfile(p) && (getAttributes(p) & S_IXUSR); } string[] entries(in string p, SpanMode m = SpanMode.shallow) { auto r = appender!(string[]); foreach (string x; dirEntries(p, m)) r.put(x); return r.data(); } string[] executables(string[] dirs) { auto r = appender!(string[]); foreach (x; dirs) r.put( filter!(isExecutable)( entries(x) )); return r.data(); } int main(string[] args) { string[] paths = getenv("PATH").split(":"); writeln( executables(paths).join("\n") ); return 0; } |
Författare: | zacke2 [ 03 dec 2010, 01:22 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
![]() Som ska vara ett C# liknande programspråk/skriptspråk som kan kompileras eller skapa c filer. Verkar spännande för mig som jobbar med embedded där C eller i hm "bästa fall" C++ finns tillgängligt. Tänk att komma upp i lite fart i programmeringen, som att gå från assembler till C! Därför tar jag nu hem Ubuntu å sänder en tacksamhetens tanke till den kreativa Open Source världen. Zacke |
Författare: | sathishksk71 [ 15 aug 2017, 04:47 ] |
Inläggsrubrik: | Re: Guider och länkar för programspråk |
Hi all This tutorial is very useful for beginners to learn C programming with example programs. http://c-language.com/ This tutorial is very useful for beginners to learn Java, JDBC, JSP with example programs. http://www.java-tutorial.com/ |
Sida 1 av 1 | Alla tidsangivelser är UTC + 1 timme |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |