Att börja programmera - Lite tankar, åsikter och massa frågor.

Här diskuteras programmering och utveckling
Användarvisningsbild
Millard
Inlägg: 42
Blev medlem: 26 jun 2007, 23:25
Ort: Örebro

Att börja programmera - Lite tankar, åsikter och massa frågor.

Inlägg av Millard »

Hejsan!

Jo jag känner till att det finns fler trådar om detta än konsulter på ericsson, men tiderna förändras, och så gör programmeringsspråken också. Vid några tidigare tillfällen har jag ren amatörmässigt syslat med lite simpel QBasicprogrammering, och även provat på c++ och pascal. Dock är det nu nästan 10 år sedan, och sen dess har det säkert tillkommit en mängd språk, både små och stora. Har nu äntligen lite tid över att börja igen. Här om dagen var jag på bokhandeln och köpte C++ programmering 5:e upplagan. Dock är jag ännu lite osäker om det verkligen är just C++ jag vill börja lära mig. Många utvecklare på olika forum talar sig varma för C sharp (C#) vilket tydligare ska vara likt C++ på många sätt. Dock verkar detta enbart vara till för dem som önskar göra applikationer till windowsplattformen.

Plattformsoberoende?
C++ är vad jag förstått inte plattformsoberoende, men det finns dock möjlighet att porta koden mellan olika plattformar. Min ambition är att jag ska kunna arbreta med koden både under Vista och Linux. Om man läser vad många utvecklare skriver här på forumet är det dessutom relativt enkelt att lära sig C# efter att man lärt sig C++ då stora likheter finns. Dock är jag inte säker på att det är varken C# eller C++ som jag vill börja med då det mig veterligen finns en mängd andra språk som blir mer och mer populära. Vissa språk går vad jag förståt (fel?) även hand i hand. Detta gäller kanske mer när det kommer till utveckling av hemsidor? Java ska tydligen vara väldigt bra och "ligga i tiden". Har hört både bra och dåliga saker angående snabbheten i javaprogram. När jag hör Java, tänker jag personligen på Azuretius (Torrentklienten - stavning?). Den tog enorma systemresurser, och har väll ett rykte om sig att förvisso vara kraftfull, men samtidigt väldigt tung för datorn.

Vad jag vill ha hjälp med?
Vad jag önskar hjälp med är att välja ett språk som är framtidssäkert. Vilken litteratur som är bra att köpa för en nybörjare, och vilket program och kompilator jag ska använda. Då jag mer och mer övergår till Linux är det även en stor fördel om språket är dominerande inom opensource så jag lite längre fram får möjlighet att göra mina egna ändrignar. Jag har ännu inte bestämt mig för att utesluta något språk, men självklart finns det något som väger lite tyngre. Tar emot alla förslag, tips och åsikter.

Mitt "nästan" första projekt
Redan nu har jag planerat för mitt första projekt. Tanken är en simpel "skicka meddelande"-applikation som primärt ska fungera i ett lokalt nätverk. Programmet ska kunna skicka ett meddelande till andra noder i nätverket. Meddelandet ska på något sätt poppa upp på mottagardatorn.

Tack på förhand, och tack för ett bra forum.
Since light travels faster than sound, isn\'t that why some people appear bright until you hear them speak?
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

SV: Att börja programmera - Lite tankar, åsikter och massa frågor.

Inlägg av Emil.s »

Det låter som att det är C++ du är ute efter. :)

För C# fins mono, vilket jag dock hört en del negativt om...
Men ta även en titt på Python! Verkar vara många som gillar det. Är dock osäker på hur det är med Windowskompatibiliteten.

Men jag är ingen "riktig" programmerare, någon annan här har säkert andra idéer. :)
Home sweet ~/ = http://sandnabba.se
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

Re: SV: Att börja programmera - Lite tankar, åsikter och massa f

Inlägg av Smygis »

Emil.s skrev:Men ta även en titt på Python! Verkar vara många som gillar det. Är dock osäker på hur det är med Windowskompatibiliteten.
Windowskompitabiliteten är helt utmärkt.

Då jag gjorde mitt projektarbete under gymnasiet skriv jag det helt under linux och sedan visade jag upp det under windows på skolans dator. Och i mina öron låter det som om Python är det som eftersökes här.

Jag säger python! http://www.python.org

BTW så är Rythmbox, musikspelaren du förmodligen använder under ubuntu skriven i C#.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
DrMegahertz
Inlägg: 296
Blev medlem: 06 maj 2006, 14:37
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Södra Dalarna

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av DrMegahertz »

Smygis skrev:BTW så är Rythmbox, musikspelaren du förmodligen använder under ubuntu skriven i C#.
Mnjae, Rhythmbox är väl ändå skriven i C, men Banshee och Tomboy däremot är skrivna i C# under Mono! :)

Men lite OnT nudå;
Vad jag har sett så verkar det som om företag vill ha tag i C/C++, C# och Java-programmerare för applikationsutveckling, i första hand då. Kunskaper om .NET verkar i många fall vara meriterande och ska man utveckla framförallt på Windows så är nog .NET det man ska satsa på. Men med kunskaper om C/C++ har du ju en mycket bra grund att stå på och utvecklas från.
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av Smygis »

DrMegahertz skrev:
Smygis skrev:BTW så är Rythmbox, musikspelaren du förmodligen använder under ubuntu skriven i C#.
Mnjae, Rhythmbox är väl ändå skriven i C, men Banshee och Tomboy däremot är skrivna i C# under Mono!
Meh! Dem är lätta att blanda ihop om man inte använder dem :)
DrMegahertz skrev: Vad jag har sett så verkar det som om företag vill ha tag i C/C++, C# och Java-programmerare för applikationsutveckling, i första hand då. Kunskaper om .NET verkar i många fall vara meriterande och ska man utveckla framförallt på Windows så är nog .NET det man ska satsa på. Men med kunskaper om C/C++ har du ju en mycket bra grund att stå på och utvecklas från.
Jag tycker då inte att det låter som om att han tänker gå fleråriga studier på diverse högskolor och universitet för att sedan kanske ha en chans till att hitta jobb på något företag som applikationsutvecklare. Utan att han vill lära sig att programmera.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
DrMegahertz
Inlägg: 296
Blev medlem: 06 maj 2006, 14:37
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Södra Dalarna

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av DrMegahertz »

Smygis skrev:Jag tycker då inte att det låter som om att han tänker gå fleråriga studier på diverse högskolor och universitet för att sedan kanske ha en chans till att hitta jobb på något företag som applikationsutvecklare. Utan att han vill lära sig att programmera.
Läste igenom posten igen och jag kan nog hålla med :)

Isåfall är väl Python att rekommendera, dels för att det är så lätt att lära sig, används i så stor utsträckning, är plattformsoberoende och dessutom har en så stor community runt sig. De flesta bibliotek man kan tänkas behöva finns ju redan portade, och skulle inte det vara nog så är ju språket väldigt enkelt att utöka med hjälp av C.
Användarvisningsbild
Victor
Inlägg: 425
Blev medlem: 12 okt 2006, 19:08
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Lund

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av Victor »

Jag rekommenderar också Python. Mycket trevligt språk.

Jag gjorde mitt sommarjobb på Ericsson med Python. Utvecklade på Windows men programmet skulle köras under Unix. Precis som i Java kan man använda Unittest (Test Driven Development) som kan vara mycket värt att lära sig men som också är roligt.

Lycka till
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av per9000 »

Jag har programmerat mot betalning i C, C++, C# och Python (och FORTRAN men det var inte mycket).

Jag skulle säga att de är alla fyra ganska oberoende av plattform (C är totalt oberoende av plattform - du kan säkert få in en C-kompilator i en gammal Nokia 3210 om du försöker tillräckligt hårt). Alla fyra har dessutom enorma bibliotek med färdiga prylar. C# har .NET om du ska sitta i Microsoft miljö - där ligger tyvärr Mono lite efter och om målet är att all kod ska funka i båda miljöerna tror jag, du får jobba lite och duplicera viss kod. Då har nog de tre andra språken mindre problem med att leva i båda världarna.

Min uppfattning är att ganska många annonser ligger ute efter kompetens i kombinationen C och C# eller C++ och C#. Suget efter Python verkar större i den akademiska världen och inom fri mjukvara. Kanske även lite inom webb-grejer.

Min personliga erfarenhet säger att (tyvärr) att bra editor/IDE är viktigare än vilket språk du väljer. Jag kan fortfarande sakna Visual Studio (då jag jobbade i C#) som jag tycker är helt överlägset allt annat jag testat (sitter i emacs-nox på ubuntu för det mesta nu). Jag var sjukt produktiv då känns det som - nu när jag hackar Python är det lite segare känns det som.

En annan viktig skillnad är att man inte kompilerar Python - det är ett scriptspråk. Dessutom är python sjukt på många sätt om man är van med stabila språk. Man kan till exempel sätta pi till tre om man vill:

Kod: Markera allt

>python
Python 2.5.1 (r251:54863, Oct  5 2007, 13:36:32) 
[GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.pi
3.1415926535897931
>>> math.pi = 3
>>> twopi = math.pi * 2
>>> print twopi
6
Hope that helps,
/Per
Användarvisningsbild
DrMegahertz
Inlägg: 296
Blev medlem: 06 maj 2006, 14:37
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Södra Dalarna

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av DrMegahertz »

per9000 skrev:Dessutom är python sjukt på många sätt om man är van med stabila språk. Man kan till exempel sätta pi till tre om man vill.
It's not a bug, it's a feature ;)

Men jag måste faktiskt hålla med, Python har lite konstiga skavanker, särskilt när det kommer till objektorientering. Det känns som om den bara blivit "påklistrad" på språket i sista stund.

Objektorienteringen i Ruby är enligt mig mycket bekvämare.
BildAre you shpongled? Bild
Användarvisningsbild
gasol
Inlägg: 405
Blev medlem: 27 jul 2007, 14:57
Kontakt:

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av gasol »

per9000 skrev:Jag har programmerat mot betalning i C, C++, C# och Python (och FORTRAN men det var inte mycket).

Jag skulle säga att de är alla fyra ganska oberoende av plattform (C är totalt oberoende av plattform - du kan säkert få in en C-kompilator i en gammal Nokia 3210 om du försöker tillräckligt hårt). Alla fyra har dessutom enorma bibliotek med färdiga prylar. C# har .NET om du ska sitta i Microsoft miljö - där ligger tyvärr Mono lite efter och om målet är att all kod ska funka i båda miljöerna tror jag, du får jobba lite och duplicera viss kod. Då har nog de tre andra språken mindre problem med att leva i båda världarna.

Min uppfattning är att ganska många annonser ligger ute efter kompetens i kombinationen C och C# eller C++ och C#. Suget efter Python verkar större i den akademiska världen och inom fri mjukvara. Kanske även lite inom webb-grejer.

Min personliga erfarenhet säger att (tyvärr) att bra editor/IDE är viktigare än vilket språk du väljer. Jag kan fortfarande sakna Visual Studio (då jag jobbade i C#) som jag tycker är helt överlägset allt annat jag testat (sitter i emacs-nox på ubuntu för det mesta nu). Jag var sjukt produktiv då känns det som - nu när jag hackar Python är det lite segare känns det som.

En annan viktig skillnad är att man inte kompilerar Python - det är ett scriptspråk. Dessutom är python sjukt på många sätt om man är van med stabila språk. Man kan till exempel sätta pi till tre om man vill:

Kod: Markera allt

>python
Python 2.5.1 (r251:54863, Oct  5 2007, 13:36:32) 
[GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.pi
3.1415926535897931
>>> math.pi = 3
>>> twopi = math.pi * 2
>>> print twopi
6
Hope that helps,
/Per
Du kan ändra pi till 3 i C också... ^_^

Kod: Markera allt


#include <stdio.h>
#include <math.h>

#ifdef M_PI
#undef M_PI
#endif
#define M_PI 3


int main(int argc, char **argv) {

   printf("two pi %f\n", 2.0f * M_PI);


   return 0;
}


The Black Mountain Scorpion Hoedown Bluegrass Experience Gang
From Left to Right: Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle.
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av per9000 »

gasol skrev:
per9000 skrev:[...]
>>> math.pi = 3
[...]
Du kan ändra pi till 3 i C också... ^_^
[...]
Nja, du har nog snarare definierat en variabel du kallar pi - i Python går du verkligen in i matte-biblioteket och dödar den gamla fina pi och stoppar in något annat.

Att programmera C, C++ och C# är lite som att ragga på en singelklubb för heterosexuella - du vet liksom vad du får. Är du dum får du veta det när du kompilerar eller om du har riktig otur när du kör programmet.

Programmerar du i python är det som att gå in på en lack och läder klubb för hetrosar, HBT-människor och getter - dessutom med en ögonbindel och handklovar. Hittar du något kanske det funkar - men du kan aldrig vara säker på att det du tror är en string är en string - det kanske är en long double :) Python säger inte åt dig att du hånglar med en get och du märker inget förrän dagen efter när du har en konstig huvudvärk och bitmärken på hela kroppen. Inga problem vid kompilering (finns ingen kompilering) och inga problem vid körning (om du har "tur") för att det mesta funkar.

Jag kanske är lite opartisk, men detta är det jag ogillar mest med Python (och alla andra scriptspråk.).

/Per
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av Lars »

Både skriptspråk som Python och kompilerade språk som C har ju sina användningsområden. Och vill man skjuta sig själv i foten så kan man göra det i de flesta språk. Jag skulle nog vilja hävda att fötterna är betydligt ömtåligare i C än vad de är i Python. Att hålla reda på pekare, buffertstorlekar, free/malloc o.s.v. är faktiskt inte helt lätt även för en erfaren C-utvecklare. Den typen av fel existerar inte i Python. Men för t.ex. realtidsutveckling eller hårdvarunära programmering så finns det ju inget som slår C i kombination med assembler.
Användarvisningsbild
gasol
Inlägg: 405
Blev medlem: 27 jul 2007, 14:57
Kontakt:

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av gasol »

per9000 skrev:
gasol skrev:
per9000 skrev:[...]
>>> math.pi = 3
[...]
Du kan ändra pi till 3 i C också... ^_^
[...]
Nja, du har nog snarare definierat en variabel du kallar pi - i Python går du verkligen in i matte-biblioteket och dödar den gamla fina pi och stoppar in något annat.

Att programmera C, C++ och C# är lite som att ragga på en singelklubb för heterosexuella - du vet liksom vad du får. Är du dum får du veta det när du kompilerar eller om du har riktig otur när du kör programmet.

Programmerar du i python är det som att gå in på en lack och läder klubb för hetrosar, HBT-människor och getter - dessutom med en ögonbindel och handklovar. Hittar du något kanske det funkar - men du kan aldrig vara säker på att det du tror är en string är en string - det kanske är en long double :) Python säger inte åt dig att du hånglar med en get och du märker inget förrän dagen efter när du har en konstig huvudvärk och bitmärken på hela kroppen. Inga problem vid kompilering (finns ingen kompilering) och inga problem vid körning (om du har "tur") för att det mesta funkar.

Jag kanske är lite opartisk, men detta är det jag ogillar mest med Python (och alla andra scriptspråk.).

/Per
math.pi är ju bara också en variabel som används, ingen garanti att andra bibliotek använder det värdet...
Från math.h

Kod: Markera allt

/* Some useful constants.  */
#if defined __USE_BSD || defined __USE_XOPEN
# define M_E      2.7182818284590452354   /* e */
# define M_LOG2E  1.4426950408889634074   /* log_2 e */
# define M_LOG10E 0.43429448190325182765  /* log_10 e */
# define M_LN2    0.69314718055994530942  /* log_e 2 */
# define M_LN10      2.30258509299404568402  /* log_e 10 */
# define M_PI     3.14159265358979323846  /* pi */
# define M_PI_2      1.57079632679489661923  /* pi/2 */
# define M_PI_4      0.78539816339744830962  /* pi/4 */
# define M_1_PI      0.31830988618379067154  /* 1/pi */
# define M_2_PI      0.63661977236758134308  /* 2/pi */
# define M_2_SQRTPI  1.12837916709551257390  /* 2/sqrt(pi) */
# define M_SQRT2  1.41421356237309504880  /* sqrt(2) */
# define M_SQRT1_2   0.70710678118654752440  /* 1/sqrt(2) */
#endif

Att det är värre att "skjuta sig i foten" i C håller jag inte med, att skjuta sig i foten bör man aldrig göra, det är därför det är så smidigt med en kompilator som ibland säger åt en att man kommer att skjuta sig i foten... Fail fast ftw...

Men att man underviker en hel del fel med Python eller vilket annat språk som har garbage collector och en massa fördefinierade datatyper är väldigt trevligt.

^_^
The Black Mountain Scorpion Hoedown Bluegrass Experience Gang
From Left to Right: Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle.
Användarvisningsbild
Millard
Inlägg: 42
Blev medlem: 26 jun 2007, 23:25
Ort: Örebro

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av Millard »

Tack för alla svar.

Har ställt samma fråga på lite olika forum, och flertalet verkar rekomendera pyton, men det finns även ett stort antal som talar sig varma för andra språk. Vad jag förstått är skillnaden mellan språken rätt stor. Och den kanske största skillnaden är att språk som java, C# och python innehåller Garbage collector vilket språk som C, C++ och assembler inte gör. Att lyckas skjuta sig själv i foten med dessa språk är alltså större än med de förstnämda språken. Det har samtidigt blossat upp en debatt om skillnad i snabbhet mellan språken. Då framförallt när det gäller javas snabbhet. Som novis är det inte det lättaste att solla mellan det stora urval som finns. Många tycker att är det C++ som jag vill lära mig ska jag också börja med det, medan andra säger att om jag börjar med python kommer det sedan gå snabbare att lära sig språk som tex C++. Har det rätt?

Frågor

1. Vilka fallgropar finns det i de olika språken?

2. Vid vilken nivå i C++ programmeringen måste man börja tänka på att ta med minnealkoleringen i beräkningen? Knappast i ett "Hello world!" program får jag hoppas, men är det steget efter?

3. De projekt som jag tänker hålla mig till som aboslut novis är självklart helt textbaserade, och kommer inte vara windows/X11 baserade. På sin höjd en textmeny där man kan navigera med piltangenterna. Är då språk som tex Java och C# optimala?


Kommer säkert att komma till ett dussin frågor, men dessa är de jag kommer på just nu.

Tack för alla svar.
Användarvisningsbild
Rasmus
Inlägg: 2291
Blev medlem: 07 sep 2006, 18:33
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Svalsta

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av Rasmus »

Millard skrev:Tack för alla svar.

Frågor

1. Vilka fallgropar finns det i de olika språken?

2. Vid vilken nivå i C++ programmeringen måste man börja tänka på att ta med minnealkoleringen i beräkningen? Knappast i ett "Hello world!" program får jag hoppas, men är det steget efter?

3. De projekt som jag tänker hålla mig till som aboslut novis är självklart helt textbaserade, och kommer inte vara windows/X11 baserade. På sin höjd en textmeny där man kan navigera med piltangenterna. Är då språk som tex Java och C# optimala?


Kommer säkert att komma till ett dussin frågor, men dessa är de jag kommer på just nu.

Tack för alla svar.
1. Mycket debatt om det här, det mesta kan nog läsas ovan, men nån annan kan nog gå igenom det bra.

2. Jag har aldrig kodat c++ till pc men till psp fick man gå igenom det nästan direkt

3. Vad jag har förstatt ar C# mest for win, java vet jag ej något om. Men både python, c och c++ funkar bra i textbaserat.

Själv kodar jag i python, jag valde python bara för att man slipper saker som "{", "}" och ";" vilket gör att koden blir "renare". Dock är det ett script-språk sa du missar kompliatorns sista koll att det ar rätt, sen blir även den "okomplierade" koden lite segare. Men det är ju lättare att testa koden då man slipper kompliera den varje gång. Alla plus och minus gör det svårare att välja, så man inner tänka igenom det mer ;D
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av Lars »

Sådana här diskussioner kan hålla på i princip hur länge som helst. Så vänta inte på att vi ska bli eniga om vad som är det bästa nybörjarspråket, det kommer aldrig att hända :) Här är en lista på sex språk: 1) Python 2) Ruby 3) Java 4) C++ 5) C# 6) Python. Tag nu fram en tärning och välj språk efter det (jag tog med Python två gånger eftersom det är min favorit för tillfället ;))
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av Smygis »

per9000 skrev:[...]
>>> math.pi = 3
[...]
Det kan jag verkligen inte hålla med dig om.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av mcNisse »

Den som vet lite om GPL och microsoft. Vet att det finns patent rörande C# och .Net. Detta gör att mono under gpl kan råka i trubbel om ms försöker hävda sina patent gentemot mono projektet. Därför avråder jag från C#.
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av Smygis »

Millard skrev:Tack för alla svar.

Har ställt samma fråg....... osv
Förstår inte riktigt rädslan för att välja språk. Det är inte så att du inte kan prova något annat efter att du har börjat med ett. Din hjärna kommer inte frysa ihop kring ett enda språk.

Själv gick jag från java till C till C++ till ASM till python och har haft massor av avstickare till tex haskell, ruby, perl och lite andra språk. Men python var det språk jag fastnade för. Men jag kan grunderna i flera andra språk.

Mitt tips är att börja med python och köra tills du kan grunderna i programmering (funktioner, loopar, oo). Den största skillnaden mellan python och dem andra är duck typing och lite andra saker. Och sedan Testa lite fler språk.
mcNisse skrev:Den som vet lite om GPL och microsoft. Vet att det finns patent rörande C# och .Net. Detta gör att mono under gpl kan råka i trubbel om ms försöker hävda sina patent gentemot mono projektet. Därför avråder jag från C#.
Nej, C# som språk är en öppen standard, precis som ECMAScript (Med implementationer som JavaScript (Firefox, Opera), JScript(Microsoft), ActionScript(Adobe) osv). Det är bara vissa bibliotek som microsoft har patent på. Och det är dem som har att göra med de grafiska delarna av deras egen implementation .NET, WinForms.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Att börja programmera - Lite tankar, åsikter och massa frågo

Inlägg av mcNisse »

Smygis skrev:
mcNisse skrev:Den som vet lite om GPL och microsoft. Vet att det finns patent rörande C# och .Net. Detta gör att mono under gpl kan råka i trubbel om ms försöker hävda sina patent gentemot mono projektet. Därför avråder jag från C#.
Nej, C# som språk är en öppen standard, precis som ECMAScript (Med implementationer som JavaScript (Firefox, Opera), JScript(Microsoft), ActionScript(Adobe) osv). Det är bara vissa bibliotek som microsoft har patent på. Och det är dem som har att göra med de grafiska delarna av deras egen implementation .NET, WinForms.
Aha, och det innebär att c# applikationer fungerar lika bra under mono som under windows?

Ett litet citat från http://www.mono-project.com/FAQ:_Licensing
For people who need full compatibility with the Windows platform, Mono's strategy for dealing with any potential issues that might arise with ASP.NET, ADO.NET or Windows.Forms is: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless.
Not providing a patented capability would weaken the interoperability, but it would still provide the free software / open source software community with good development tools, which is the primary reason for developing Mono.
The patents do not apply in countries where software patents are not allowed.
Detta citat tycker jag räcker för att avskräcka från användning av c# och mono.

Detta skulle det också kunna finnas patent på eftersom det ligger utanför standarden...
This International Standard does not specify:
The mechanism by which C# programs are transformed for use by a data-processing system;
The mechanism by which C# applications are invoked for use by a data-processing system;
The mechanism by which input data are transformed for use by a C# application;
The mechanism by which output data are transformed after being produced by a C# application;
The size or complexity of a program and its data that will exceed the capacity of any specific data-processing system or the capacity of a particular processor;
All minimal requirements of a data-processing system that is capable of supporting a conforming implementation.
Skriv svar

Återgå till "Programmering och webbdesign"