Gå til innhold

torbjørn marø

Medlemmer
  • Innlegg

    797
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av torbjørn marø

  1. Morsom lesning, mye sterke meninger her - i alle retninger. "Jeg har en ide"-trådene pleier å bli sånn :)

     

    Tenkte bare å kommentere alt det der med servere og kapasitet og sånt. Det går som regel fint å komme igang med internettbaserte tjenester mye enklere og billigere enn hva Gavekort sier. Skyleverandører har som regel et gratisnivå som er godt nok å starte på. Jeg har selv kjørt på gratisnivået til Heroku med en tjeneste som hadde rundt 600 samtidige brukere som refreshet MYYYYYE, og det snurret rundt helt fint. Når behovet vokser kan man så enkelt skalere opp det man trenger - CPU, diskplass, båndbredde osv. Jeg ville ikke vært så pesimistisk til akkurat dette..

  2.  

    Hvilke favoritter (spurd litt mer konkret) har dere selv da? Ruby on Rails, Python, PHP eller annet språk for utvikling av webløsninger ?

     

     

    For tiden er favoritten JavaScript (på node.js). Ikke fordi det er så spesielt elegant eller mye bedre enn andre ting, men fordi det er rimelig enkelt, lett tilgjengelig, og har mye traction for tiden. Passer bra for små til mellomstore løsninger, og helt supert i prototype-fasen. Skalerer bra (i bredden) ytelsesmessig, men er usikker på om JavaScript skalerer spesielt bra kompleksistetsmessig (les vedlikeholdmareritt).

  3. Det jeg ville tenkt du behøvde for å kjøre programmet ditt var Ganetabellen.exe og Gangetabellen.exe.config (gitt at du har noe i config).

     

    *.application har noe med click-once deployment å gjøre. Har ikke vært borti dette på mange år

     

    *.manifest..., en standalone maifest-fil? Aner ikke hvorfor du har fått dette. Kanskje også det har noe med click-once å gjøre? Er en fil som dokumenterer avhengigheter til bibloteker du bruker og slike ting. Er ikke helt stø på hvordan dette fungerer, men har heller aldri behøvd å kunne det.

     

    *.pdb har med debugging å gjøre, og det er ikke så vanlig å distribuere denne i sluttbrukerprogrammer. Men om du f.eks. vil koble en debugger til et kjørende program kan den være verdifull.

     

    *.xml filen inneholder dokumentasjon av koden

     

    *.vhost.* er en spesiell versjon av programmet ditt tilrettelagt for debugging.

  4. Så kvifor er API'et for ein vanleg C# applikasjon, heilt totalt annerledes når du skal lage Windows Store App?

    Sjå f.eks på BitmapEncoder klassen.

     

    Dei likner ikkje litt ein gong.

     

    Jeg er ikke helt sikker på om jeg forstår hva du mener. BitmapEncoder var ny i .NET 3.0, så ble den litt utvidet i 3.5, og er uendret i 4.5. Mener du kanskje at WinForms ikke var direkte overførbart til WPF. Eller at det har kommet nye ting i WinRT/Windows 8?

     

    Jeg har ikke erfaring med WinRT selv altså, så hvis du kan utdype så vil det sikkert være lærerikt. Men jeg blir ikke overrasket og synes ikke det er rart om det er det at du skal forholde deg til WinRT som er poenget. Altså ingenting med C# eller .NET å gjøre egentlig, men endringer i selve Windows.

  5. Dei driver faktisk enda med lock-in idag. Om du jobber med C# og rammeverkene, så vil du oppleve at API'et ofte blir snudd opp ned ved ein ny release. Ingen warnings med at deler av API'et er depricated...og ingen gode feilmeldinger er det heller. Så du må bruke ekstra lang tid på å finne feil og lære deg eit nytt API.

     

    Denne tida kunne ein heller brukt på å bli ein betre utviklar. Men sidan du sliter med å få basisfunksjonalitet til å fungere fordi API'et blir snudd opp ned annakvart år, så greier du rett og slett ikkje å utvikle deg i riktig retning.

     

    Dette er en forferdelig dårlig beskrivelse av virkeligheten. Hvis det er ett selskap som er kjent for å alltid forsøke å være bakoverkompatible, så er det jo nettopp Microsoft. Gammelt og nytt kan kjøre knirkefritt side om side.

     

    Og om noe deprikeres så får du warnings - det er jo det depricated er der for.

  6.  

    Men ikke et mål i seg selv. Derfor satser de bredt - fordi det er det folk vil ha. Vi tjener på dette!

    Uh-uh. Microsoft tjener på dette, ikke noe kollektivt vi.

     

     

    Det jeg sier vi tjener på er at M$ ikke bare fokuserer på .NET, men også bedrer forholdene for node på sin platform, tilbyr git push deploy mot Azure, tilbyr hosting av Linux, Hadoop, etc. Å velge Microsoft betyr ikke lenger automatisk å velge én bestemt stack.

     

    Som utvikler - i alle fall om du er konsulent eller ikke bestemmer alt selv - så må du gjerne forholde deg til M$ og/eller Windows og/eller Azure. Men det betyr likevel mer og mer frihet til å velge etterhvert som tiden går, fordi M$ lytter til hva vi ønsker (fordi M$ vil være populære (fordi M$ skal tjene penger (fordi de må tilfredstille aksjonærene (som de har for å skaffe arbeidsplasser (til utviklere som er så heldige at de får betalt for å drive med dette fantastiske yrket))))).

     

    Selvsagt kan man være bekymret for hva som kan skje om noen får for mye makt. Personlig er jeg mer redd for hva facebook finner på. Burde også være bekymret for Google. Men stort sett er jeg veldig optimistisk - de eneste av de store som er virkelig ond i mine øyne er Oracle :)

  7.  

    Få folk til å bruke Azure. De har investert mye i å gjøre PHP og node-støtten i IIS/Azure bra. Og kjør gjerne Linux, sålenge du gjør det i Microsofts datasenter.

    Og du ser ikke C#/.NET som en mulig brikke for å få dette

     

    Man kan velge å bare fortsette å si de tingene man har sagt om Microsoft i alle år, eller man kan se litt på hva de faktisk foretar seg og gjøre seg opp en mening selv.

    Hva er egentlig motivasjonen bak denne storstilte "open sourceingen", tror du?

     

     

    Jo C# er en brikke for å få til dette - det var akkurat det jeg sa/mente. Men ikke et mål i seg selv. Derfor satser de bredt - fordi det er det folk vil ha. Vi tjener på dette!

     

    Motivasjonen bak "open sourcingen"? Samme motivasjon som hos alle andre selskaper: Ta markedsandeler og tjene penger! Ikke noe galt i det.

  8. Det er klart den er. I disse webhipster- og mobiltider er Microsoft en langt mindre aktør enn de var, og de er ikke i stand til å styre teknologivalg slik de var.

     

    Hva har M$ gjort deg egentlig ;)

     

    De er faktisk ikke så superopptatt av at alle skal utvikle for .NET / C# / bruke Visual Studio. De tjener ikke penger på det. Det meste av innsatsen går på to ting:

    1. Få folk til å bruke Azure. De har investert mye i å gjøre PHP og node-støtten i IIS/Azure bra. Og kjør gjerne Linux, sålenge du gjør det i Microsofts datasenter.
    2. Gjøre Windows 8 / Windows Phone til en spennende platform (for sluttbruker) for å opprettholde OS-salget. Hvilket betyr at de forsøker å gjøre det enkelt og interessant å bruke ulike teknologier for å utvikle - .NET, C++, JavaScript, m.m.

    Man kan velge å bare fortsette å si de tingene man har sagt om Microsoft i alle år, eller man kan se litt på hva de faktisk foretar seg og gjøre seg opp en mening selv.

     

    Så det så :p

  9. Synes det ser greit ut her. Kanskje distroen som er problemet, ikke mono?

     

     

    Kan være at dette er noe som har endret seg relativt nylig.

     

    Jeg snakket med et par utviklere i dag som jobber aktivt med Mono, og slik jeg forstår det deployer til alle de tre store OS'ene. De sier nettopp det dere er inne på: Det er ikke Mono som er problemet, men Linus distribusjonene. Mono oppdateres kun på Ubuntu når Ubuntu kommer i ny release, og derfor har man hengt langt bakpå. Derimot kom det en ny "long time" release av Ubuntu nå i april, og der er Mono fersk og fin. Så oppgraderer du OS'en nå så får du et bra Mono-miljø som i alle fall holder en stund.

     

    (får ikke sove)

  10. Jeg har ikke jobbet med Mono selv, men er veldig overrasket over det som blir sagt her. F.eks. at monostøtten på Linux er dårlig, men bedre på Mac - siden Mono-teamet selv sier:

     

    "Mono is primarily developed on Linux, and most of its users are Linux users, so it is the platform best supported."

     

    Wikipedia sier:

     

    "Mono can be run on many software systems including Android, most Linux distributions, BSD, OS X, Windows, Solaris, and even some game consoles such as PlayStation 3, Wii, and Xbox 360."

     

    Og så har vi prosjekter som MonoGame, som jeg hører mye om for tiden. De sier:

     

    "We currently support iOS, Android, Mac OS X, Linux, Windows, Windows 8 Store, and Windows Phone 8 with even more platforms on the way."

     

    MEN når jeg googler "installing mono on linux/ubuntu" ser jeg derimot at det nok er noe i det som sies her. Prosedyren er såpass kompleks og rådene er såpass sprikende at det ikke frister å prøve... :(

  11. Jeg gjorde en programmeringsoppgave for en jobbsøknad, og endte med å ikke få jobben uten videre forklaring på hva som var galt med koden min. Er nå interresert i å få litt tilbakemeldinger, finslipe koden (det var en webcrawler) og ha den som en del av porteføljen min - hvilke sider er best for å gjøre dette? reddit.com/r/programming ? Diskusjon.no? Stackoverflow?

     

    Send oss lenken da når du har lagt det ut et sted, så får du sikkert feedback fra noen her også! Alltid gøy å se litt kode.

     

    Forresten - foregikk det slik at du kodet mens de observerte deg, eller var det kode du måtte levere inn for å få en vurdering?

  12. Så for å vri litt om på spørsmålet, korleis skal du få ein Javautviklar over på Microsoftplattformen idag? Kva slags fordelar er det med å droppe Linux og Java med Windows og C#/.Net?

     

    :)

    Jeg har ingen interesse av å få Javautviklere over på C#/.NET. Personlig ville jeg blitt glad om de gikk over på Clojure (som jeg antydet tidligere har jeg mer tro på JVM'en enn språket Java). Men hvis du trekker inn Groovy til fordel for Java i argumentasjonen så inkluderer du kanskje også Clojure og Scala allerede? Jeg diskuterte spåk, ikke platformer!

     

    Segregeringen mellom .NET og Java-miljøene (og mange andre miljøer også, men mest der) er en uting. Folk burde ikke være stolte av å kalle seg Javautviklere eller .NET-utviklere. En utvikler med erfaring og noen år på baken gjør lurt i å være agnostisk i forhold til platform, og velge det beste verktøyet til problemet som skal løses i ethvert konkret tilfelle. Jeg tror hovedutfordringer er at C#/.NET og Java/JVM er såpass like at man må konstruere en kunstig konkurranse mellom dem for å føle tilhørighet til noe.

     

    Men å hale og dra i utviklere som ikke vil se hvordan ting er andre steder enn der hvor de føler seg hjemme er å svømme mot strømmen, så det har jeg desverre ikke energi til.

  13. ...snip...

     

    Vi er ikke så veldig uenige - i alle fall ikke i at det finnes mye bra utviklet i Java, og at det generelt er en utbredt teknologi. Men igjen er du litt kategorisk, og sier "omtrent soler seg alene i". Kan det tenkes at det finnes endel teknologier som tilbyr mye av det samme, men som du ikke kjenner til?

     

    Java har endel suksesshistorier, såkalte "killer aplications". Du nevner f.eks. Hadoop, ZooKeeper og ActiveMQ, og jeg vil legge til neo4j. Men jeg har et par bemerkninger: 1) Felles for disse er at man ikke må programmere i Java for å utnytte produktene. 2) Man kan hevde at det finnes bedre teknologier å utvikle denne typen produkter i. Pga. 1 og 2 vil jeg påstå at Hadoop og ActiveMQ's eksistens ikke alene er gode argument for å satse på Java.

     

    (som igjen ikke betyr at man ikke skal satse på Java - jeg er bare ute etter en balanse her..)

     

    Jeg får også lyst til å nevne at kjernen (ca 20% i følge github) av ZooKeeper består av C/C++. Det er også nå C i Hadoop.

     

    Av vellykkede konkurrenter til prosjektene du nevner har vi f.eks. RabbitMQ (utviklet i Erlang), men også et hav av distribuerte data-løsninger som Riak (også Erlang), Redis ©, MongoDB (C++), Amazon SimpleDB (Erlang igjen), og CouchDB (jepp, Erlang det også).

     

    Webrammeverk finnes det så mange forskjellige av for alle sammenlignbare platformer at det nesten er umulig å snakke om, men det er bra å høre at også Java har noen gode valgmuligheter.

     

    Siden du nevner Java 8; den parallelle utviklingen av Java og C# er interessant. C# begynte nærmest som en kopi av Java. Men så stagnerte Java (ikke i seg selv en uting), mens C# utviklet seg en god del. Med versjon 8 tar Java igjen C# på endel områder - med lambda expressions, extension methods, bulk-operasjoner (filter, map, reduce i core), m.m.

     

    Samtidig har M$ varslet en rekke nye utvidelser av C#..., litt i overkant mange synes jeg. Men nå begynner dette å ligne mer på en rant enn et innlegg i en diskusjon. Så la meg konkludere:

     

    Jeg reagerer når man er kategorisk i en tråd hvor en nybegynner har stilt spørsmål, fordi nybegynnere er svært motakelige for slike inntrykk, og i dette tilfellet raskt kan tro at Java er "det eneste rette" om utspillet ikke får et motsvar. Da klarer ikke jeg sitte i ro og se på :p

  14. HVA?

    Eg trur du bør sjekke kjeldene dine litt betre......

     

    Her er Netflix sin blogpost om hvordan de tar i bruk mer og mer Python: http://techblog.netflix.com/2013/03/python-at-netflix.html Men ja, de er kjent for å bruke mye Java.

     

    Nekter heller ikke for at Facebook er storforbruker av Java. Mitt poeng er mer at i et så stort selskap med så mye teknologi så må du nok lete lenge etter en teknologi som ikke er brukt. Og det Facebook snakker mest om selv er altså HACK, som de selv sier gir PHP alle fordelene som Java har.

     

    Problemet mitt med ditt forrige innlegg var setningen "Blant anna så har Java fått ein vanvittig boost dei siste åra, og har blitt veldig moderne igjen", som jeg mener gir et galt inntrykk. Java har vært vanvittig populært siden starten for snart 20 år siden. MEN det er en popularitet som er avtagende. Gode eksempler på eldre språk som har fått en vanvittig boost dei siste årene og blitt populære igjen (og som dermed passer bra til din beskrivelse) er JavaScript, Erlang og Objective-C.

     

    Men du gjør ikke et dårlig valg om du satser på Java.

  15. return er der for å hoppe ut av metoden tidlig (antar det kommer mer i den metoden som du ikke tok med). Ganske vanlig å ha slike sjekker først i metoder - "guards" kalles det gjerne.

     

    I dette tilfellet burde derimot guarden kastet en exception, ikke bare returnert. For hvis setNavn ikke kan gjøre jobben sin så bør den som kaller metoden få beskjed om det.

×
×
  • Opprett ny...