WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Lära sig asp. (https://www.wn.se/forum/showthread.php?t=8573)

dunken 2005-06-21 14:16

Hej

Jag funderar nu på att lära mig asp ordentligt eftersom jag endast kan ändra i koden men inte bygga något bättre själva.

Så vart har ni lärt er koda asp, asp.net och vad för böcker är bäst?

Eller man till och med ska välja en distans kurs?

Vilket är bäst och tar minst tid enligt er?

mvh/Tomas

robertsson 2005-06-21 14:33

Internetworld ASP skola
Här lärde jag mig ASP på några timmar :)

Robert 2005-06-21 14:44

Såg att du nämnde både ASP och ASP.NET. Det är så pass olika att du bör välja vad du ska lära dig. Om du ska lära dig ASP.NET så rekomenderar jag dig att aldrig titta på vanlig ASP då det blir mycket förvillande att gå från ASP till .NET. (skillnaden ligger inte så mycket i språket/syntaxen utan snarare arkitekturen och hur saker och ting hanteras). Själv hade jag skruvat med vanlig ASP i nästan 7år när jag bytte... det blev väldigt jobbigt, men nu är jag frälst! :P

Sen bör man väl tillägga att ASP.NET inte är ett språk utan en plattform. Tja, du kan faktiskt skriva ASP med javascript också så det är väl en plattform det med. :)

dunken 2005-06-21 21:52

Citat:

Originally posted by Robert@Jun 21 2005, 13:44
Såg att du nämnde både ASP och ASP.NET. Det är så pass olika att du bör välja vad du ska lära dig. Om du ska lära dig ASP.NET så rekomenderar jag dig att aldrig titta på vanlig ASP då det blir mycket förvillande att gå från ASP till .NET. (skillnaden ligger inte så mycket i språket/syntaxen utan snarare arkitekturen och hur saker och ting hanteras). Själv hade jag skruvat med vanlig ASP i nästan 7år när jag bytte... det blev väldigt jobbigt, men nu är jag frälst
Sen bör man väl tillägga att ASP.NET inte är ett språk utan en plattform. Tja, du kan faktiskt skriva ASP med javascript också så det är väl en plattform det med.


Skulle det räcka med idgs hemsida menar ni ?
Där lär jag knappast kunna lära mig allt.

Finns det några böcker om asp.net då eftersom det är väll lite bättre än vanliga asp?
Jag har med lärt mig lite asp men när asp.net kom så rörde det i hop sig för mig så jag får väll ta det från början :)

digiArt 2005-06-21 22:11

Citat:

Originally posted by dunken@Jun 21 2005, 20:52
Finns det några böcker om asp.net då eftersom det är väll lite bättre än vanliga asp?
Jag har inte använt en enda bok i ämnet, jag köpte en bok en gång i tiden, men den har knappt hjälpt mig...

Titta in på www.asp.net, där finns det tonvis med information. Kolla in deras tutorials, dissikera deras starter kits. Ragga rätt på ett ex av Visual Studio.NET och du är off to go.

Sen är det inte helt illa att lära sig förstå objektorienterad programmering (OOP), en bra bok i det ämnet är Object Oriented Programming av Timothy Budd.

När du kör fast så är pellesoft.se en ovärderlig resurs. (även om jag ibland ställer så avancerade frågor där så jag aldrig får svar :D )

Fluffe 2005-06-21 22:19

Håller helt med Robert. Nu kommer säkert en del skrika, men asp är ett dött språk. Ingen poäng med att lära sig det när asp.net(c#, VB) erbjuder så enormt mycket mer.

Sen tror jag att nybörjare, av helt naturliga skäl, koncentrerar sig alldeles för mycket på språk än på metoder. Ett litet tips på vägen är att tänka generellt. Lär dig t.ex. vad en "for" sats är och vad den löser för problem. Sedan hur man skriver den i ett specifikt språk tar bara 1 min att kolla upp. Finns en enorm stor skillnad mellan syntax och symmantik, vilket är viktigt att inse för att bli en bra utvecklare.

Kan vara en idé att välja ett helt annat språk att börja lära sig i. Java är ett populärt inkörningsspråk.

Yepp 2005-06-22 01:16

Citat:

Originally posted by Fluffe@Jun 21 2005, 21:19
Nu kommer säkert en del skrika, men asp är ett dött språk. Ingen poäng med att lära sig det när asp.net(c#, VB) erbjuder så enormt mycket mer.
No Offense - men jag skulle gärna vilja veta vad som är så mycket bättre med asp.net - inte för att jag påstår att du har fel, men för att jag själv är intresserad och aldrig riktigt har satt mig in i skillnaden (mer än att den är betydlig) och vad som profilerar asp.net, samt i slutändan gör det bättre. T.ex. om, och isåfall vad, finns det för nya saker man kan producera som inte tidigare var möjligt.
Tacksam för svar B)

Till Dunken: Själv inledde jag med boken ASP Active Server Pages av Erik Ronne - kanske ingen jättehit, ganska grundläggande. Dock lätt att förstå, och skönt att ha någonting förutom e-dokumentationer. Kombinerade den med bl.a. IDG:s lilla webstudio (även om den innehåller en del rejäla brister...) samt all möjlig form av tutorials och liknande på diverse sidor - är dessutom själv mycket av learning by doing, så testade mig fram en hel del (och hojtade på forum så fort det gick åt pipan :rolleyes: )

eg0master 2005-06-22 09:01

Citat:

Originally posted by Fluffe@Jun 21 2005, 21:19
[...]
Sen tror jag att nybörjare, av helt naturliga skäl, koncentrerar sig alldeles för mycket på språk än på metoder. Ett litet tips på vägen är att tänka generellt. Lär dig t.ex. vad en "for" sats är och vad den löser för problem. Sedan hur man skriver den i ett specifikt språk tar bara 1 min att kolla upp. Finns en enorm stor skillnad mellan syntax och symmantik, vilket är viktigt att inse för att bli en bra utvecklare.
[...]

Applåder och visslingar!
Jag skulle till och med sträcka mig och säga att de flesta självlärda över huvud taget fokuserar på språk mer än att bli bra programmerare. Det finns tre saker som gör att en person är "bra att ha" i ett givet projekt:
1) Personen måste vara en duktig programmerare. Detta betyder att man förstår och behärskar grundläggande principer för programmering.
2) Personen skall behärska den plattform man utvecklar på.
3) Personen skall kunna språket man använder.

1:an blir man bra på genom lång erfarenhet. Någon form av avancerad utbildning inom området är en bra hjälp på vägen (civil ingenjör/datavetenskap i första hand, systemvetenskap i andra hand).
2:an innebär att du vet vilka klasser som finns klara och hur de bäst används. MFC, .NET, wxWidgets, STL, WTL, WinAPI är några exempel. är du bra i den ena är de andra dock lättare eftersom samma sak oftast finns i alla - det heter bara lite olika.
3:an är praktiskt. jobbigt att slå upp syntax för varenda rad man skall skriva.

Skall man jämföra detta med något annat så skulle jag säga att en duktig programmerare kan skriva ett program i vilket språk och på vilken plattform som helst. Tänk dig att du skall skriva en uppsats på danska (eller annat språk liknande vårt du inte kan). Med ett lexicon kommer texten vara förstålig, men kanske inte gramatiskt korrekt. Samma sak blir det när en bra programmerare tar sig an ett nytt språk och/eller plattform. Det funkar, men med mer erfarenhet blir det bättre.

Så dunken om jag var du skulle jag sätta mig ner och börja kika på C# i kombination med .NET rent generellt först. Därefter börja gå över på ASP.NET specifika delar.

Westman 2005-06-22 10:39

Citat:

Originally posted by eg0master@Jun 22 2005, 08:01

Så dunken om jag var du skulle jag sätta mig ner och börja kika på C# i kombination med .NET rent generellt först. Därefter börja gå över på ASP.NET specifika delar.

C# är väl bra men det är också en högre inlärningströskel än VB. VB är mer i "klartext" och därmed borde vara lättare att lära sig. C# är i mitt tycke svårare men sen är jag ju också VB-nörd sen version 4. :D

PS. ASP/VB är VB-script, ej att förväxla med VB.

Robert 2005-06-22 11:14

Citat:

Ursprungligen postat av Yepp
Citat:

Ursprungligen postat av Fluffe
Nu kommer säkert en del skrika, men asp är ett dött språk. Ingen poäng med att lära sig det när asp.net(c#, VB) erbjuder så enormt mycket mer.

No Offense - men jag skulle gärna vilja veta vad som är så mycket bättre med asp.net - inte för att jag påstår att du har fel, men för att jag själv är intresserad och aldrig riktigt har satt mig in i skillnaden (mer än att den är betydlig) och vad som profilerar asp.net, samt i slutändan gör det bättre. T.ex. om, och isåfall vad, finns det för nya saker man kan producera som inte tidigare var möjligt.
Tacksam för svar B)

Det beror på...
Givetvis kan man göra allt i en webapplikation; allt som går att köra genom en processor. Frågan är bara: hur är verktygen du använder? Hur lång tid tar det att koda? Vilken lösning/metod/struktur måste du använda? Vilka [extra] objekt krävs och vad kostar de?

Klassisk ASP kräver ju mängder med extra objekt för att utföra mer "avancerade" saker, och hittills har jag inte stött på något i .Net som behöver detta (om det inte gäller för att spara utvecklingstid då... )
Det mesta mynnar dock ut i tid och tid = pengar i de flesta fall.

* Jag gillar många av förändringarna i asp.net, exempelvis User Controlls som gör att du kan kapsla in självförsörjande funktionalitet på ett sätt som inte är möjligt med asp (nej, include är inte samma sak.. =))
* över 5000klasser och metoder tror jag att jag läste mig till att .net innehöll. Mycket är det iaf, och man kan slänga sig i backen på att det finns en funktion någonstans som ersätter all nyutveckling som måste ske i övriga plattformar. Ta bara så konstiga saker som att utläsa exif-information ur jpg-filer (alltså metadata som berättar exemeplvis vilka kamerainställningar du hade när du tog bilden)... färdigt att använda = 1 kodrad. 4999 kvar att utforska! =P
* Eventdrivna sidor. Du slipper samla in all jäkla querydata och kolla vad som har hänt; nu har varje knapp/htmlobjekt events som skickas till servern så man vet exakt vad som hände. Ingen mera "&action=delete" i querystrings'en! =)
* Viewstate. Klienten (ja, egentligen servern) håller reda på hur alla hmtlobjekt är populerade, dvs du slipper fylla alla textboxar och dylikt om en sida submittas om. Magi... =)

Sen finns det så mycket mer, men ovan nämnda hör till vardagen iaf. Man får inte glömma nya VS med riktigt bra debuggmöjligheter som även gör det lättare att utveckla med de många propertys som alla klasser erbjuder. Så skönt att kunna bromsa koden, och klicka upp en trädstruktur som representerar de objekt som är laddade för den aktuella sidan i serverns minne. Klicka dig ner i trädgrenarna/noderna och kolla värden på attribut du annars måste slå i manualer för att få reda på betydelsen av. Många gånger så får man en "aha"-upplevelse när man inser att "Åh fan, detta objekt har redan kapat upp besökarens url i bitar så jag slipper köra regularexpressions på den". Man inser ofta att man har skrivit för mycket kod... =)

Robustare och snabbare ("kompilerad" kod) får vi ju inte glömma.

Du kan välja att koda i följande språk (bla):
APL
Fortran
Pascal
C++
Haskell
Perl
C#
Java
Language
Python
COBOL
Microsoft JScript®
RPG
Component
Pascal
Mercury
Scheme
Curriculum
Mondrian
SmallTalk
Eiffel
Oberon
Standard ML
Forth
Oz
Microsoft Visual Basic®

Fluffe 2005-06-22 13:28

Citat:

Originally posted by Yepp@Jun 22 2005, 00:16

No Offense - men jag skulle gärna vilja veta vad som är så mycket bättre med asp.net - inte för att jag påstår att du har fel, men för att jag själv är intresserad och aldrig riktigt har satt mig in i skillnaden (mer än att den är betydlig) och vad som profilerar asp.net, samt i slutändan gör det bättre. T.ex. om, och isåfall vad, finns det för nya saker man kan producera som inte tidigare var möjligt.
Tacksam för svar B)

Tycker att Robert täcker grunden bra! Det jag menar med "dött språk" är, om jag inte är helt ute och reser, att Microsoft har upphört med utvecklingen av asp. Kanske kan man idag göra samma applikationer i asp som i asp.net (även om arbetsinsatsen troligtvis kommer bli mycket högre). Dock tror jag i med asp.net 2.0 och vidare utveckling kommer asp helt enkelt inte hålla om 2 - 4 år.

Lindahl 2005-06-22 13:39

Tänkte passa på att slänga in en liten fråga här. ASP.NET har ju bland annat en hel del färdiga dialogrutor för login och såna saker som jag har förstått det, funkar detta med alla webbläsare (eller åtminstone de vanligaste)?

dunken 2005-06-22 13:44

Tack för alla svar.

Jag tror jag vet vart jag ska börja och kommer jag av mig så vet jag vart jag ska fråga i alla fall :)

eg0master 2005-06-22 13:58

Citat:

Originally posted by Westman@Jun 22 2005, 09:39
C# är väl bra men det är också en högre inlärningströskel än VB. VB är mer i "klartext" och därmed borde vara lättare att lära sig. C# är i mitt tycke svårare men sen är jag ju också VB-nörd sen version 4. :D
Som du själv skriver är du en VB-nörd och inte en programmerare...
Det är väl först med VB.NET som "vi" som lärt oss programmera i första hand får tillgång till vad man kan förvänta sig av ett programspråk. VB.NET finns sannolikt bara för att inte skrämma bort VB-nördar utan lura dem att börja använda .NET. Att lära sig VB (script/6/net) istf C# är ju som att bara plocka murklor i skogen. Det funkar, men det blir en massa extra jobb i längden. C# och inte VB.NET har framtiden framför sig.
Anledningen till att du tycker VB är "mer klartext" är att du är van. Att för en oinvigd lära sig C# där saker heter vettiga saker är precis lika lätt. På samma sätt som jag kan skriva VB program som är helt oförståliga. Tydligen heten ligger inte i språket utan i hur det används.

Och som gammal VB-nörd hoppas jag du är medveten om att MS skapade VB för att enkelt göra fungerande prototyper av GUI. Folk sket dock i att skriva om sakerna i VC++ och vips tvingade man MS att utveckla VB till ett vettigt språk. Något som tog mycket lång tid.

Och nu går vi fett off-topic:
Jag skulle säga att VB skadat branchen mer än det tillfört. Allt för många människor utgav sig för att kunna utveckla program bara för att de kunde dra och klicka lite i VB. Jag tackar IT-bubblans sprickande för en naturlig utrensning.

Så bottom line - ska man satsa på att lära sig något vettigt ska man göra det ordentligt eller vara medveten om att en enklare väg är full av begränsningar. Innan man är medveten om konsekvenserna av sitt val kan man inte göra ett korrekt val utifrån sina förutsättningar och krav.

Fluffe 2005-06-22 16:50

Aj, det var hårda ord. Men ligger nog en hel del sanning i det! Hehe.. oki, lite mer off-topic då:

Det finns ett bra sätt att skilja en bra programvaruutveckare mot en hemmasnickarare. Och det är den goda klassikern: Vilka språk kan du? Har du ställt den frågan till någon under det senaste året är den bittra sanningen att du är en hemmasnickrare.

Frågan bör lyda: Är du duktig på programmering? och sedan är följdfrågan: Vilka språk har du erfarenhet av?

Robert 2005-06-22 17:19

Citat:

Ursprungligen postat av eg0master
Citat:

Ursprungligen postat av Westman
C# är väl bra men det är också en högre inlärningströskel än VB. VB är mer i "klartext" och därmed borde vara lättare att lära sig. C# är i mitt tycke svårare men sen är jag ju också VB-nörd sen version 4. :D

Som du själv skriver är du en VB-nörd och inte en programmerare...
Det är väl först med VB.NET som "vi" som lärt oss programmera i första hand får tillgång till vad man kan förvänta sig av ett programspråk. VB.NET finns sannolikt bara för att inte skrämma bort VB-nördar utan lura dem att börja använda .NET. Att lära sig VB (script/6/net) istf C# är ju som att bara plocka murklor i skogen. Det funkar, men det blir en massa extra jobb i längden. C# och inte VB.NET har framtiden framför sig.
Anledningen till att du tycker VB är "mer klartext" är att du är van. Att för en oinvigd lära sig C# där saker heter vettiga saker är precis lika lätt. På samma sätt som jag kan skriva VB program som är helt oförståliga. Tydligen heten ligger inte i språket utan i hur det används.

Och som gammal VB-nörd hoppas jag du är medveten om att MS skapade VB för att enkelt göra fungerande prototyper av GUI. Folk sket dock i att skriva om sakerna i VC++ och vips tvingade man MS att utveckla VB till ett vettigt språk. Något som tog mycket lång tid.

Och nu går vi fett off-topic:
Jag skulle säga att VB skadat branchen mer än det tillfört. Allt för många människor utgav sig för att kunna utveckla program bara för att de kunde dra och klicka lite i VB. Jag tackar IT-bubblans sprickande för en naturlig utrensning.

Så bottom line - ska man satsa på att lära sig något vettigt ska man göra det ordentligt eller vara medveten om att en enklare väg är full av begränsningar. Innan man är medveten om konsekvenserna av sitt val kan man inte göra ett korrekt val utifrån sina förutsättningar och krav.

Vi har väl precis konstaterat att skillnaderna symantiskt mellan språk är den minsta biten; en måsvinge hit, några uttryck som ska skrivas "baklänges" etc. Skillnaderna mellan plattformar är däremot stor.

Kan du förklara för oss som jobbar med det här men ändå inte fattar* vad det är för skillnad i funktionalitet mellan _språken_ vb och c# i asp.net?






(* jodå, jag fattar men vill ändå höra en bra förklaring)

eg0master 2005-06-22 18:14

Citat:

Originally posted by Fluffe@Jun 22 2005, 15:50
Det finns ett bra sätt att skilja en bra programvaruutveckare mot en hemmasnickarare. Och det är den goda klassikern: Vilka språk kan du? Har du ställt den frågan till någon under det senaste året är den bittra sanningen att du är en hemmasnickrare.

Frågan bör lyda: Är du duktig på programmering? och sedan är följdfrågan: Vilka språk har du erfarenhet av?

Mycket fyndigt och mycket sant.

och för att besvara robert:
1) Ja syntaxen är den minsta biten - men om man nu skall lära sig något från scratch är det ju lämpligare att lära sig något man kommer använda. För att lära sig lite .NET från scratch kommer ändå inte göra dunken till en bra programmerare så skillnaden i syntax kan vara ett hinder.
2) Mig veterligen är den mesta hjälp man kan få på internet inom .NET fokuserad på C#. Därför dumt att satsa på VB.NET och själv översätta färdiga klasser etc.
3) Jag är gammalmodig och lever i en värld där VB är ett otyg för att den tillåter en massa saker som bara gör koden ännu sämre. Mina åsikter om VB färgas dessutom av de personer jag träffat som pratat varmt om VB. Den som tycker VB är bra och använder VB till allt och föredrar VB framför annat är i mina ögon en idiot. Någon som inte vet bättre. Därför dissar jag även VB.NET utan att någonsin tittat på det utom då man tvingas se kodexempel i MSDN (vilket gör mig lika arg varje gång).

Så eftersom jag egentligen inte vet vad VB.NET är så kan jag inte svara på frågan om vilka skillnaderna egentligen är. Det enda jag "vet" är att de flesta överger VB för C# och inte java/C för VB.NET. De allra flesta kör C# så sannolikheten att jag hittar en finurlig klass på codeproject.com som jag kan använda något modifierad är större om jag är van vid C# och inte VB.NET. Sedan kanske det inte spelar så stor roll för mig eftersom jag är en duktig programmerare, men för en nybörjare är det dumt att skapa sig problem när man nog kommer ha svårt nog ändå. Som nybörjare är igenkänningsfaktorn viktig.

Edit:
Kom på en sak innan jag blir flejmad av VB folk som inte gillar att jag kallar dem för idioter.
Det finns tillfällen då även jag använder VB. Enkla små program som behöver COM stöd t.ex. betydligt smidigare i VB än i VC++. Det handlar inte om hat - det handlar om att använda rätt verktyg vid rätt tillfälle. Gör man bara websidor för windowsservrar - ja då är kanske VB rätt (eller va rätt för nu finns C# och ASP.NET). Men världen är full av VB-folk som använder det jämt och ständigt trots att andra verktyg skulle passa bättre. Och det är de jag tycker är idioter och det i kombination med hur VB5 och VB6 ser ut färgar min åsikt även av VB.NET.

Westman 2005-06-22 18:24

Citat:

Originally posted by eg0master@Jun 22 2005, 12:58
Som du själv skriver är du en VB-nörd och inte en programmerare...

Det var ju trevligt av dig, jag är tack och lov för gammal för att ta illa upp. Vidhåller dock att VB är lättare att lära sig. Vilket språk som är bäst får de som vill slåss om.

EDIT: Jodå jag kan fler språk, och har även hunnit glömt assembler (jmp och bne är det enda jag kommer ihåg).

Robert 2005-06-22 19:48

Tror många skiter i färdvägen, det är målet som räknas.

FredrikMH 2005-06-23 00:57

Visual Basic är väldigt bra för enkla applikationer som tar längre tid att skapa i C eller liknande. Jag började själv med VB (eller rättar sagt jag har inte kommit mycket längre :) ). Det har sina begränsningar som inte går att komma undan om man inte vill lägga ner enormt mycket onödig tid. 2 saker som jag stör mig enormt på är att string inte kan innehålla mer än 65kb och det går inte att komma runt om (finns fula lösningar iof). Den andra är alla komponenter låser sig medans de arbetar och VB-programmet svarar inte på anrop under denna tid. Jag menar DoEvents?

Jag tycker också du ska börja med C# för att lättare förstå. Som ni sa så fokuserar man lätt på fel saker i början. VBs syntax hjälper inte direkt att tänka i rätt banor heller. Sen att det var minst lika lätt i något annat språk som i VB är inte rätt. Som ny är det lättare att memorera och lära sig VBs syntax. Du behöver inte avsluta rader, använda klamrar eller tänka på hur många jämförelsetecken du ska stoppa in i en if-funktion.

Robert 2005-06-23 09:44

DU glömde tillägga att nivån (lowlevel vs highlevel) är... få se om jag får det rätt nu...lägre(?) än c#/c++

Alltså om man jämför 3 olika språk, Lingo, VB och c++ så skriver man mest som en människa i Lingo (Flash). Följande exempel:

LINGO:
Kod:

on hellworld
 set the text of field 1 = "Hello World"
end

VB:
Kod:

Private Sub FOrm_Load()
  minTextLabel.text = "Hello World"
end sub

C++(typ C#)
Kod:

#include <iostream>

int main()
{
  std::cout << "Hello, world!\n";
}


kanske lite assembler?:
Kod:

reset
  LDX #$00
 cycle
  LDA hworld,X
  BEQ reset
  STX cache
  JSR $FFD2
  LDX cache
  INX
  JMP cycle
 hworld
 .text "Hello, World!"
 .byte 13,0
 cache
 .byte 0


jimmie 2005-06-23 10:24

Citat:

Originally posted by Robert@Jun 23 2005, 07:44
DU glömde tillägga att nivån (lowlevel vs highlevel) är... få se om jag får det rätt nu...lägre(?) än c#/c++

Alltså om man jämför 3 olika språk, Lingo, VB och c++ så skriver man mest som en människa i Lingo (Flash). Följande exempel:

LINGO:
Kod:

on hellworld
 *set the text of field 1 = "Hello World"
end

VB:
Kod:

Private Sub FOrm_Load()
 * minTextLabel.text = "Hello World"
end sub

C++(typ C#)
Kod:

#include <iostream>

int main()
{
 * *std::cout << "Hello, world!\n";
}


kanske lite assembler?:
Kod:

reset
 * *LDX #$00
 cycle
 * *LDA hworld,X
 * *BEQ reset
 * *STX cache
 * *JSR $FFD2
 * *LDX cache
 * *INX
 * *JMP cycle
 hworld
 .text "Hello, World!"
 .byte 13,0
 cache
 .byte 0


Varför inte mikroprogrammering? ;) Riktigt skoj jue!

eg0master 2005-06-23 13:14

Citat:

Originally posted by Robert@Jun 23 2005, 08:44
DU glömde tillägga att nivån (lowlevel vs highlevel) är... få se om jag får det rätt nu...lägre(?) än c#/c++
Skulle nog säga att VB & C# båda är en högre nivå än C++ följt av C, assembler osv.
Nivån har ju inget med hur likt tal/skrivspråk det är utan abstraktionen ner mot hårdvaran.

Vill bara gnälla lite på argumentet att VB är enklare för man slipper bry sig om måsvingar och radslut...
Jag hävdar då att C# är bättre för att man kan formattera sin kod för bättre läsbarhet eftersom man har större
frihet över hur koden formatteras eftersom radbrytningar inte påverkar kodens betydelse. Sug på den karamellen ett tag... Framstår det inte som extremt korkat att hur du formatterar din kod påverkar hur den fungerar? Visst man kan komma runt detta i VB - jag vet, men det är ju minst lika illa som att avsluta rader med ;
Python är ett annat exempel som är mer skrämmande än VB på denna punkt. I Python avgör antalet tabbar hur koden fungerar.
Kod:

Enkelt python exempel:
def hw(hm):
 i = 0
 while (i < hm):
  print('Hello ')
 print('World')
hw(3);

Koden skriver ut "Hello Hello Hello World" (fast med varje ord på en ny rad).
Att låta formattering styra funktion av kod är ju like dumt som att blanda utseende och innehåll i en websida - något som väl alla här försöker undvika bl.a. genom att använda CSS.

jag har ett par gånger fått höra kommentarer som "va kan man ha de olika villkoren i en if-sats på olika rader i C" från folk som först lärt sig VB (utan att känna till "_"-tricket) och sedan C++. Läsbarhet handlar inte bara om hur språket ser ut utan hur det används. Två exempel (med reservation för ev. syntax fel):

Exempel 1: VB
Kod:

private sub volvo(saab,audi)
 if saab < 0 then
  volvo = -1
 elif saab = 0 then
  volvo = 1
 else
  volvo = audi * volvo(saab-1, audi)
 end if
end sub

Exempel 2: C
Kod:

int power(int base, int exponent)
{
 if (exponent < 0)
  return -1;
 if (exponent == 0)
  return 1;
 return base * power(base, exponent-1);
}

Vilken funktion tog längst tid att förstå?

Yepp 2005-06-23 13:30

Citat:

Originally posted by Fluffe@Jun 22 2005, 12:28
Tycker att Robert täcker grunden bra!
Håller helt klart med - tackar för den mindre lektionen av Robert. Du har antagligen övertalat mej, men kanske ännu inte min kalender...

Fluffe 2005-06-23 15:32

Citat:

Originally posted by Robert@Jun 23 2005, 08:44
C++(typ C#)
Kod:

#include <iostream>

int main()
{
 * *std::cout << "Hello, world!\n";
}


Nu kanske vi har tappat tråden lite, men måste bara kommentera detta:

c# och c++ är inte riktigt rättvist att jämföra. Hehe, här kommer ännu en härlig åsikt som säkert många reagerar på. Men c++ är, enligt mig, bara ett riktigt dåligt försök att göra ett funktionellt språk &copy; till att bli objektorienterat. Men det är som du skriver Robert olika nivåer på språken. C är mycket mer maskinnära där den fyller sin funktion. Man kommer ju ihåg när man svor över det lilla labkortet med ljussignaler.. ;)

c# är ett objektorienterat språk som i mångt och mycket liknar java, som microsoft säkert har sneglat både en och två gånger på medans de utvecklat c#.

Robert 2005-06-23 16:36

Citat:

Originally posted by eg0master@Jun 23 2005, 12:14
Vill bara gnälla lite på argumentet att VB är enklare för man slipper bry sig om måsvingar och radslut...
Jag hävdar då att C# är bättre för att man kan formattera sin kod för bättre läsbarhet eftersom man har större
frihet över hur koden formatteras eftersom radbrytningar inte påverkar kodens betydelse. Sug på den karamellen ett tag... Framstår det inte som extremt korkat att hur du formatterar din kod påverkar hur den fungerar? Att låta formattering styra funktion av kod är ju like dumt som att blanda utseende och innehåll i en websida - något som väl alla här försöker undvika bl.a. genom att använda CSS.

jag har ett par gånger fått höra kommentarer som "va kan man ha de olika villkoren i en if-sats på olika rader i C" från folk som först lärt sig VB (utan att känna till "_"-tricket) och sedan C++. Läsbarhet handlar inte bara om hur språket ser ut utan hur det används.

Tja, formateras och formateras... sist jag satt i skolbänken så var det ett språk som börjar på bokstaven C som gjorde skillnad på stora och små bokstäver (variabler)... :D

Ang skriva koden på längden eller höjden; det beror väl bara på hur man vill skrolla i kodeditorn... känns fortfarande som struntargument när det gäller att välja språk.. :)
Radbrytning eller måsvinge eller vad som helst; det är bara ett ascii-tecken och det behövs väl i alla språk, alltså någon form av "syntax-delare" eller vad man ska kalla det för? Skulle bli jobbigt för kompilatorn annars... fast man kan ju resonera så att c# är jobbigt för det kräver en ; i slutet av en rad trots att det sitter ett radbrytningstecken efter (jaja, det går att skriva på bredden...)


Alla tider är GMT +2. Klockan är nu 19:46.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson