Gå til innhold

Anbefalte innlegg

Hei, jeg har nettopp begynt å programmere litt i java med programmet Eclipse og merker at det er ganske så likt som C# som jeg har lært litt via skolen. Største forskjellen er at i Visual Studio 2010 med C# så kan man designe program-vinduet også, noe jeg ikke vet hvordan fungerer i java ennå. Men spørsmålet mitt er hvorfor bør jeg programmere i java? Hvorfor ikke fortsette med C#? Negative/Positive sider med java i forhold til andre programmeringspråk?

 

 

Takker for svar på forhånd :)

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+9871234

Hei, jeg har nettopp begynt å programmere litt i java med programmet Eclipse og merker at det er ganske så likt som C# som jeg har lært litt via skolen.

Så vidt jeg vet følger språk som Java, C# og C++ C syntax. Jeg har sett Java og C# kode og begge minner meg om forenklet C++. Fordelen med C++ er at språket i det vesentlige er en supermengde av C. C++ er ikke som C# (nært knyttet til Microsoft) og Java (nå kjøpt opp av Oracle) nært knyttet til et enkelt selskap. Personlig vil jeg foretrekke C++ til utvikling av programmer som ikke skal kjøres på nettet. Der er tid forbundet med å lære et nytt språk. Så om C# fungerer godt nok for deg, er det grunner til å fortsette med det. Godt nok er noen ganger best.

 

Største forskjellen er at i Visual Studio 2010 med C# så kan man designe program-vinduet også, noe jeg ikke vet hvordan fungerer i java ennå.

Visuell programmering øker produktiviteten. Personlig foretrekker jeg Embarcadero's http://www.embarcadero.com/products C++ Builder. Så vidt jeg vet inneholder Visual studio også Visual C++ så der skulle du også kunne lære deg C++ uten å skifte plattform. Igjen, noen ganger er godt nok best.

 

Negative/Positive sider med java i forhold til andre programmeringspråk?

Den største marginale fordelen etter mitt syn, er at Oracle nå har kjøpt opp Sun Java, så om du skal utvikle databaseløsninger for Oracle plattformen, kan der muligens være fordeler med å lære seg og bruke Java. Der er imidlertid som regel ingen problemer med å utvikle databaseløsninger i andre kjente språk.

 

Det snakkes mer og mer om nettskyen. Her er Ruby on Rails langt framme. Der finnes allerede "Cloud" plattformer for Ruby. Dersom du velger Google App engine (fremdeles i Beta så vidt jeg vet) som cloud plattform, vil du fort oppdage at utviklere har hatt større problemer med å bruke Java enn for eksempel Python + Django.

 

Se mitt forum: http://www.oopschool.com/phpBB3/ for mer informasjon om WebUtvikling i ulike språk. Til webutvikling foretrekker jeg per dags dato PHP som er i ferd med å bli et ekte objekt orientert språk med navnerom, object relational mapping (ORM) etc. Intet språk er tettere integrert med HTML enn PHP,

 

<body>
       <p>
           <?php  if (condition)     { ?>

           <!-- HTML content to display if condition is true -->

           <?php } else { ?>

           <!-- HTML content to display if condition is false -->

           <?php } ?>
       </p>
</body>

 

og du trenger ingen "cloud" plattform.

Endret av Slettet+9871234
Lenke til kommentar

Som sagt programmer og lær deg det programmerings språket som gir mest mening/morsomst for deg. Når du kan et programmeringsspråk(dette gjelder ikke VB eller VB.NET) så er det veldig mye enklere og ta med seg logikken fra det språket, og noen ganger noe av syntaksen videre til et annet programmerinsspråk.

Lenke til kommentar

Hei, jeg har nettopp begynt å programmere litt i java med programmet Eclipse og merker at det er ganske så likt som C# som jeg har lært litt via skolen. Største forskjellen er at i Visual Studio 2010 med C# så kan man designe program-vinduet også, noe jeg ikke vet hvordan fungerer i java ennå. Men spørsmålet mitt er hvorfor bør jeg programmere i java? Hvorfor ikke fortsette med C#? Negative/Positive sider med java i forhold til andre programmeringspråk?

 

 

Takker for svar på forhånd :)

 

For å ta det enkle først, gui-designere fins for java også. Med Eclipse gjelder det bare å finne riktig plugin, eller du kan bruke Netbeans, JDeveloper eller noe annet hvor det er med i «grunnpakka».

 

Hvorfor Java? Det må du nesten svare på selv. Den store forskjellen ligger etter min mening i valgmulighetene du har når det gjelder plattform/appserver. Med .Net har du enten Microsofts eller Novells plattform å kjøre på. Med Java er økosystemet mer fragmentert. Det er fler som leverer JVM, appservere, rammeverk for persistens, gui, webgui osv. osv. Om det er en fordel eller ulempe blir litt opp til deg :)

 

Edit: Jepp, må vel kommentere at jeg mener dette *selv om* - som andre har påpekt - Oracle har kjøpt opp Sun. Det er ikke ideelt, men de er fortsatt ikke i en monopolsituasjon.

Endret av quantum
Lenke til kommentar

C# er etter min mening et vesentlig bedre programmeringsspråk, så det en må velge seg egentlig er hva det skal kjøre på. .NET kjører på nær sagt alt av Microsoft plattformer, og har et konsekvent API for alle sammen. Dette inkluderer Windows, Windows Phone, Xbox 360 og Zune.

 

.NET kjører også mer eller mindre plettfritt på alle Mono plattformer, som nå er de aller fleste (Mono 1.4 kommer forhåndsinstallert på Ubuntu) Mono er også Open Source om det betyr noe. Men Windows Presentation Foundation fungerer ikke på Mono, og etter det jeg vet er det heller ingen planer om å implementere det.

 

Java kjører stort sett over alt, og bygger på samme teknikken. Det er dog et hav av ulemper i java som språk. Sjekk Comparison of C# and Java for en gjennomgang av disse.

Merk også Platform support.

Endret av GeirGrusom
Lenke til kommentar

Blir litt opgitt når jeg ser på java kode over den verbose måte og løse selv enkle ting.

Liker at et selskap som Oracle kan kjøpe opp et språk.

F.eksp python kan et selskap aldrig kjøpe opp,det vil for alltid være fritt og krossplatform.

 

Et enkel eksempel på hva jeg mener med verbose.

Ta en så enkel ting som og legge en bowlingscore inn i dictionary/hashmap.


#Python
my_dict = {}
my_dict["my bowling scores"] = [120, 140, 165]

#Java
Map<String, List<Integer>> my_hashmap = new HashMap<String, List<Integer>>();
List<Integer> lst = new LinkedList<Integer>();
lst.add(120);
lst.add(140);
lst.add(165);
my_hashmap.put("my bowling scores", lst);

Noen flere sammenligninger Python vs java

Endret av SNIPPSAT
Lenke til kommentar

SNIPPSAT: Ikke 100% enig i deg at ett verbose språk er negativt. Selv er jeg stor fan av C++, som jo er ganske verbose. Synes også sammenligningen din er ganske dårlig. Med java bruker du en linka liste, mens i python bruker du en list, som vel er mer som ett array. En mer fair sammenligning hadde da blitt i java:

 

Map<String, int[]> myhashmap = new HashMap<String, int[]>();
int[] lst = {120,140,165};
myhahsmap.put("my bowling scores", lst);

 

Noe som i og for seg er like enkelt som python sin. hvis du vil kan du jo også slå sammen de to siste linjene hvis du absolutt vil ha ting minst mulig verbose.

 

Når det er sagt synes jeg selv python er fantastisk til små oppgaver/demoer, da det er så raskt og intuitivt å skrive i.

  • Liker 1
Lenke til kommentar

Vet om en ting som er mer verbost i både Python og Java:

 

var fag = from student in studenter where student.gjennomsnitt > 3 select student.fag

 

Språk har forskjellige styrker og svakheter, og python er ikke noe bedre på det. Blant annet HATER jeg implisitt deklarering av variabler, og dynamiske datatyper. Det er noe ordentlig griseri!

Lenke til kommentar
Gjest Slettet+9871234

Den størst fordelen med Python er etter min menig at det er bra som et første språk. Veldig enkelt å lære. Siden OP behersker C# faller vel det argumentet bort. For skrivebordsapplikasjoner er C++ mitt personlige første valg. Visual C++ er vel inkludert i Visual studio. Vet ikke hvordan det er med fulle og partielle pakker i Visual studio siden jeg aldri har sett den pakken, men er det tilfelle ville jeg personlig gått fra C# til C++ om ikke C# er godt nok. Var en gang på et C# seminar med Anders Hejlsberg http://en.wikipedia.org/wiki/Anders_Hejlsberg programmets grunnlegger. Ble imponert over hvor effektivt det var.

Lenke til kommentar

Mange gode svar her :) Men jeg lurer også litt på om java er et "fremtidsrettet" programmeringsspråk, eller om det er et som kommer til å "dø ut"? Og grunnen til at jeg startet med java er mest fordi det er språket vi skal programmere i på UiS når/hvis jeg kommer inn på datalinjen der.

Lenke til kommentar

Mange gode svar her :) Men jeg lurer også litt på om java er et "fremtidsrettet" programmeringsspråk, eller om det er et som kommer til å "dø ut"? Og grunnen til at jeg startet med java er mest fordi det er språket vi skal programmere i på UiS når/hvis jeg kommer inn på datalinjen der.

 

Java som språk har vel kanskje begynt å komme litt i bakleksa. Det er et barn av sin tid, og nå kjenner man at alderen begynner å tynge. Det som imidlertid er veldig spennende, er at JVM (Java Virtual Machine) etterhvert har fått flere språk som kjører på plattformen. Her er en liste: http://en.wikipedia.org/wiki/List_of_JVM_languages.

 

---

BalleB

Lenke til kommentar

Mange gode svar her :) Men jeg lurer også litt på om java er et "fremtidsrettet" programmeringsspråk, eller om det er et som kommer til å "dø ut"? Og grunnen til at jeg startet med java er mest fordi det er språket vi skal programmere i på UiS når/hvis jeg kommer inn på datalinjen der.

Blir litt som å sitte på gjerdet og vente på den neste nye mobilen før du kjøper, og i mellomtiden får du ikke prata med noen.

 

Det fins mye javakode rundt om som nok pent blir nødt til å snurre og gå i årevis framover, akkurat som det fins cobol og pl/1-kode som gjør det samme. Dette kan du gjerne kalle å dø ut, hvis du vil. Men det kommer også til å dukke opp nye og spennende teknologier basert på java i fremtiden. Java er et økosystem som kommer til å leve lenge framover, java som språk utvikler seg ganske sakte og det vil hele tiden dukke opp masse nye konkurrenter som er både mer moderne og fremtidsretta. Om noen av disse får fotfeste må tiden vise.

Lenke til kommentar
  • 2 uker senere...
Gjest Slettet+9871234

Tja, det er jo spennende å se hvordan java brukes i Google Web Toolkit for å skrive webapplikasjoner. Fremtidsrettet eller sidespor?

Nevnes Google, er vel Google Appengine, http://www.oopschool.com/phpBB3/viewtopic.php?f=7&t=115 som fortsatt er i beta fase mer fremtidsrettet.

 

Med bakgrunn i det jeg vet er der større problemer med å kjøre Java på denne plattformen enn for eksempel Python + Django.

Lenke til kommentar

Tja, det er jo spennende å se hvordan java brukes i Google Web Toolkit for å skrive webapplikasjoner. Fremtidsrettet eller sidespor?

Nevnes Google, er vel Google Appengine, http://www.oopschool.com/phpBB3/viewtopic.php?f=7&t=115 som fortsatt er i beta fase mer fremtidsrettet.

 

Med bakgrunn i det jeg vet er der større problemer med å kjøre Java på denne plattformen enn for eksempel Python + Django.

 

Det er også min erfaring at det er ganske knotete å jobbe med GAE, men det ble veldig mye greiere med en gang jeg kom over Objectify. Synes GAE duger helt fint til hobbyprosjekter der du trenger en gratis hosting-tjeneste. Dersom jeg skulle gjort noe seriøst (hvem i sitt rette sinn ville egentlig la google håndtere potensielt sensitiv info), ville jeg heller deployet app'en på en egen server (f.eks Tomcat+Hibernate+PostgreSQL).

 

Slik jeg ser det er GWT-pipelinen veldig behagelig ift lage webapplikasjoner (spesielt dersom du jobber med Eclipse-plugin'en til google); alt av kode både på klient- og server siden skrives i ett og samme språk. Du trenger ikke å tenke på forskjeller i JS mellom ulike nettlesere; dette ordner GWT ved kompilering av koden. Ulike biblioteker som GXT og SmartGWT har etterhvert blitt ganske godt utbygd og byr på mye funksjonalitet, som er like god eller bedre enn det du finner i Swing.

 

Innvendinger for eller i mot? Hva med RoR vs GWT?

Endret av ti-guru
Lenke til kommentar
Gjest Slettet+9871234

Dersom jeg skulle gjort noe seriøst (hvem i sitt rette sinn ville egentlig la google håndtere potensielt sensitiv info), ville jeg heller deployet app'en på en egen server (f.eks Tomcat+Hibernate+PostgreSQL).

 

  1. Hvem ville legge sensitiv informasjon på nettet?
  2. Hvem ville legge sensitiv informasjon på en utenlandsk server?
  3. Is your online password protected database on a secure server really secure?

 

Synes GAE duger helt fint til hobbyprosjekter der du trenger en gratis hosting-tjeneste.

Der finnes en profesjonell versjon: http://code.google.com/appengine/business/

 

Etter at Amazon har opptådt som dommer :nei: i "Wiky Leaks saken" som fortsatt ikke er kommet for retten, ville jeg ihvertfall ikke stolt på Amazon Ec2 http://aws.amazon.com/ec2/ som en cloud platform. Stoler mer på Google enn Amazon og Microsoft i disse dager:

 

http://www.webproworld.com/webmaster-forum/threads/107493-Worse-than-reverse-SEO

 

Er man helt paranoid skal man også være klar over at 90 % av norsk internet trafikk går via EU landet Sverige.

 

Det er også min erfaring at det er ganske knotete å jobbe med GAE, men det ble veldig mye greiere med en gang jeg kom over Objectify.

Jeg kjenner ikke Objectify så den plattformen kan jeg ikke uttale meg om.

 

Generelt skulle man vel stole like mye på Google som applikasjons hoster som en hvilken som helst annen hoster :roll:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...