DKCH
Administrator ...
|
für "einfach laufen" find ich persönlich ein war/ear und einen servlet container (oder auch eine konstruktion mit jsvc/tomcat) gar nicht so schlecht - auch wenn die entwicklung der diskussion von "einfach, cross platform" hin zu erlang und go einen nicht zu leugnenden unterhaltungswert bietet. imho: für cross platform würd ich bei etwas bleiben, das auf der JVM lauft, und eher mal richtung groovy (oder wenn zeit keine rolle spielt scala) schaun. zum thema performance: ich denke, man kann mit spring mvc schnelle sachen bauen und mit python/erlang/whatever langsame... aber startup bzw die zeit bis der jit mal gewerkt hat ist sicher a bissl zacher, das stimmt
|
XeroXs
Vereinsmitglieddoh
|
für "einfach laufen" find ich persönlich ein war/ear und einen servlet container (oder auch eine konstruktion mit jsvc/tomcat) gar nicht so schlecht - auch wenn die entwicklung der diskussion von "einfach, cross platform" hin zu erlang und go einen nicht zu leugnenden unterhaltungswert bietet. imho: für cross platform würd ich bei etwas bleiben, das auf der JVM lauft, und eher mal richtung groovy (oder wenn zeit keine rolle spielt scala) schaun. zum thema performance: ich denke, man kann mit spring mvc schnelle sachen bauen und mit python/erlang/whatever langsame... aber startup bzw die zeit bis der jit mal gewerkt hat ist sicher a bissl zacher, das stimmt Es kann durchaus sein dass ich mit Java eh schon bei der richtigen Sprache bin. Da bleibt aber das Problem -> Wie kann ich das möglichst einfach verpacken so dass man das einfach "installieren" kann. Einen Tomcat installieren und dann mit dem WAR file herumfrickeln will ich keinem zumuten müssen... auch wenns nicht sonderlich kompliziert wäre. Hab da nur den InstallBuilder von BitRock gefunden, aber das ist einfach viel zu Teuer für meinen Anwendungsfall. Bezüglich Unterhaltungswert: Naja, CP ist halt ein Bonus den ich jetzt durch Java schon habe und ungern hergeben möchte. Ich kenn die anderen Sprachen einfach noch zu wenig um das wirklich einschätzen zu können, deshalb auch meine Frage hier  Eine JVM hat halt einen recht heftigen Memory-Footprint, da hilft alles nix. Da wäre eine modernere Sprache sicher schlanker, oder nicht?
Bearbeitet von XeroXs am 08.03.2016, 11:23
|
DKCH
Administrator ...
|
es kommt wahrscheinlich drauf an, wen du als zielgruppe hast bzw was das ding eigentlich tun soll. web backend klingt ja für mich eher nach server-anwendung, und da find ich persönlich jetzt tomcat oä installieren und war hinkopieren nicht so schlimm zu installieren/warten (und sonst kann man immer noch was gutes mit spring boot basteln). memory footprint kommt halt auf die applikation an, da find ich node.js viel schlimmer wenns um dau-tauglichkeit geht bist du imho mit allen genannten optionen in der rue de la gack und vermutlich mit .net am besten beraten
|
XeroXs
Vereinsmitglieddoh
|
Um das vielleicht etwas besser zu erläutern: Mein "Ziel" ist eigentlich so etwas ähnliches wie Owncloud - nur dass ich kein GUI benötige, sondern einfach nur ein/aus als Dienst. Clients/Apps sollen dann via Rest-API darauf zugreifen können. Nicht falsch verstehen, geht nicht um File syncing oder so.. Der einfache und naheliegende Weg wäre (auch weil ich die Sprache gut kenn) halt Java mit Spring MVC, aber aus genannten Gründen bin ich nicht sicher ob das das richtige ist. Außerdem hätt ich einfach Bock mal wieder was anderes zu lernen
|
XeroXs
Vereinsmitglieddoh
|
Hab mir jetzt Go etwas genauer angesehen.. das passt eigentlich nicht so schlecht kommt mir vor. Was mir nicht taugt ist dass es keine vernünftige IDE zu geben scheint.. nur verschiedene Plugins die mehr oder weniger gut funktionieren.. aber gut, da hat man kommt mir vor eh überall das nachsehen wenn man eine gute Java oder .Net IDE gewöhnt ist.
Was genau meinst du DKCH wenn du sagst "entwicklung der diskussion von "einfach, cross platform" hin zu .... go einen nicht zu leugnenden unterhaltungswert bietet. "?
|
Neo1010
.
|
nimm nodejs und schreibs in typescript und als IDE visual studio, ich glaub das könnte dir gefallen
|
XeroXs
Vereinsmitglieddoh
|
nimm nodejs und schreibs in typescript und als IDE visual studio, ich glaub das könnte dir gefallen  Puh, nein  NodeJS -> schon thematisiert weiter oben.. kein Fan. Visual Studio -> Mac User
|
pinkey
Here to stay
|
Puh, nein 
NodeJS -> schon thematisiert weiter oben.. kein Fan. Visual Studio -> Mac User
 https://www.visualstudio.com/ -> herunterladen für Mac OSX  is halt "nur" das Visual Studio Code. Mir gefällts. Kannst dir ja mal anschauen
Bearbeitet von pinkey am 09.03.2016, 09:55
|
XeroXs
Vereinsmitglieddoh
|
Danke das kenn ich eh auch, aber ist schon was ganz anderes als die angesprochene "vollwertige" VS IDE. Für Code gibts sogar ein Go Plugin, aber leider mit mäßigem Debug Support. Entwickelt jemand von euch mit Go und hat einen Tipp für eine IDE? Momentan verwend ich Eclipse mit Goclipse.. IntelliJ hätte mir besser gefallen, aber das Plugin will bei mir nicht wirklich vernünftig laufen..
Bearbeitet von XeroXs am 09.03.2016, 10:42
|
Longbow
Here to stay
|
es kommt wahrscheinlich drauf an, wen du als zielgruppe hast bzw was das ding eigentlich tun soll. web backend klingt ja für mich eher nach server-anwendung, und da find ich persönlich jetzt tomcat oä installieren und war hinkopieren nicht so schlimm zu installieren/warten (und sonst kann man immer noch was gutes mit spring boot basteln). memory footprint kommt halt auf die applikation an, da find ich node.js viel schlimmer wenns um dau-tauglichkeit geht bist du imho mit allen genannten optionen in der rue de la gack und vermutlich mit .net am besten beraten Was genau ist an git pull schlimmer als an Tomcat/.war File? Der Tomcat setzt sich auch nicht von allein auf, und das kann ein DAU auch nicht allein.
Bearbeitet von Longbow am 09.03.2016, 12:18
|
SailorChibi
Addicted
|
Ich gebe mein vote auch für python ab. Flask + sqlalchemy als IDE Pycharm.
Edit: Die perfekte Programmiersprache gibt es sowieso nicht. Du musst eine finden die dir am Besten liegt. Ich bin halt auf Python gestoßen und es hat mir sofort gefallen.
Bearbeitet von SailorChibi am 10.03.2016, 07:28
|
XeroXs
Vereinsmitglieddoh
|
Klar, aber es gibt durchaus besser und schlechter geeignete Kandidaten.
Python, Flask und sqlalchemy werd ich mir nal ansehen. Go hats mir allerdings schon sehr angetan mittlerweile
|
XeroXs
Vereinsmitglieddoh
|
Hmmm.. das hat mich jetzt dann doch durchaus überrascht: Hab gerade zwei idente Services gebaut - einmal Java einmal Go, beide laufen am selben System, zusammen mit einer MSSQL DB auf die Zugegriffen wird. Das Service tut nicht viel - connected sich zur DB, holt eine Tabelle, wandelt sie in JSON um und gibt sie zurück. Benchmark (in Go geschrieben ): Das Go Service braucht im Schnitt (200 Durchläufe) etwa 13 ms Das Java Service braucht im Schnitt (200 Durchläufe) etwa 8 ms
Puh :/
Die Java App verwendet Spring & Hibernate - mir ist nicht ganz klar wie oft er da wirklich auf die DB zugreift..//Edit: Kaum macht mans richtig, hat man auch das gewünschte Ergebnis  Benchmark (in Go geschrieben  ): Das Go Service braucht im Schnitt (200 Durchläufe) etwa 2,7 ms Das Java Service braucht im Schnitt (200 Durchläufe) etwa 7,5 ms  nice one  (Hatte ursprünglich in der Go Implementierung für jeden Request eine neue DB-Connection aufgemacht und wieder zugemacht...  ) AndererseitsUnd in 3 Sekunden 3 Binaries erstellen für Linux, OSX und Windows ist schon ein Hit  GOOS=linux GOARCH=amd64 go build -o test-linux main.go
GOOS=darwin GOARCH=amd64 go build -o test-osx main.go
GOOS=windows GOARCH=386 go build -o test-win.exe main.go
Bearbeitet von XeroXs am 10.03.2016, 17:36
|
DKCH
Administrator ...
|
Was genau meinst du DKCH wenn du sagst "entwicklung der diskussion von "einfach, cross platform" hin zu .... go einen nicht zu leugnenden unterhaltungswert bietet. "? weils ich bei den anforderungen einfach lustig find, wie man bei erlang landen kann  kommt halt drauf an was cross platform bedeutet, für uns heissts windows/osx/linux/solaris (sparc/x86)/aix/zLinux/os390, und von daher bin ich sicher java biased ;-) und ich seh halt bei go einfach vom tooling her kein land... aber, jeder wie er mag
|
XeroXs
Vereinsmitglieddoh
|
weils ich bei den anforderungen einfach lustig find, wie man bei erlang landen kann kommt halt drauf an was cross platform bedeutet, für uns heissts windows/osx/linux/solaris (sparc/x86)/aix/zLinux/os390, und von daher bin ich sicher java biased ;-) und ich seh halt bei go einfach vom tooling her kein land... aber, jeder wie er mag Ja, bei Erlang hast natürlich recht, das hab ich aber auch nicht wirklich in Betracht gezogen, hab nur bissl drüber gelesen und find die Sprache cool  Mir gehts bei CP vor allem um die großen, also Linux, Debian FreeBSD, OSX, Windows. Da bin ich mit Go auf jeden Fall gut dabei. Bzgl Tooling muss ich dir Zustimmen, das ist aktuell ziemlich mühsam, aber hab jetzt IntelliJ zum laufen gebracht, und das gefällt jetzt erst einmal ganz gut.
Bearbeitet von XeroXs am 11.03.2016, 13:53
|