Προς το περιεχόμενο

Java vs C#


denz

Προτεινόμενες αναρτήσεις

1 ώρα πριν, Papakaliati είπε

Η Java γενικως δεν εξελισετε. Αμα τελευταια φορα ειχες δουλεψει με Java 10 χρονια πριν, δεν νομιζω να συναντησεις κατι διαφορετικο. C# αντιθετος, εχει τεραστια βηματα προοδου, ακομη και σε performance. Ειναι πολυ πιο ευχαριστο να δουλεψεις με c#, παρα με Java. Το Spring boot ειναι τοσο αργο και memory hungry, το μονο που το συντηρει ειναι το library, αλλα δεν ειναι αρκετο πλεον. Αμα για ενα service θελει 50 δευτερα για να ξεκινησει και ζητα 1GB το πρωτο 5λεπτο, δουλεια δεν γινεται. 

Όλα προσωπική άποψη,  μην υπάρχουν παρεξηγήσεις. Δεν το κρύβω ότι έχω προσωπική συμπαθεια στην C#, αλλα οχι χωρις καλο λογο, ειναι εξαιρετικα ευχαριστο το multi threading και παρα πολλα αλλα.

Δεν θα συναντήσεις κάτι διαφορετικό επειδή μπορείς να γράφεις όπως πριν 10 χρόνια , αυτό δεν σημαίνει ότι δεν έχει αλλαγές όλα αυτά τα χρόνια .

Και συμφωνώ δεν είναι και η καλύτερη γλώσσα απο άποψη resources για απλά projects αλλά αν μιλάς για Spring boot συγκρίνεις υλοποίηση ενός framework για Java και όχι την ίδια την γλώσσα.

Κατα τα άλλα αν και δεν έχω γράψει c# κοίταγα σε κάποια φάση ένα block κώδικα στο stackoverflow και νόμιζα ότι διάβαζα java μέχρι που πέτυχα μία γραμμή που δεν καταλάβαινα τι ακριβώς έκανε και τότε κατάλαβα ότι είναι C# , είναι αρκετά όμοιες τουλάχιστον στον τρόπο γραφής.

Εγώ απο την άλλη γράφω Java περίπου 15 χρόνια , δεν μπορώ με την καμία να γράψω scripting γλώσσες , απο την άλλη όποτε έχει χρειαστεί να φτιάξω κανα site έτσι για την πάρτη μου , μου λείπει η απλότητα που υπάρχει σε κάποιες άλλες γλώσσες

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ΑΝ είσαι Developer δεν έχει σημασία Java ή C#...σαν 1η σύλληψη είναι περίπου η ίδια...απλώς αλλάζει λίγο η σύνταξη (άλλωστε και η C# είναι μια μεταφορά της C σε Java alike μετά την πελώρια επιτυχία της Java στα 90ς και την αποτυχία της 1ης αντιμετώπισης της Ms με την J++...μετά το σκεφτήκαν περισσότερο και φτιάξαν την .NET και παράλληλα σπρωξαν την C# εν προκειμένου να δώσουν μια Cειοδής υπόσταση στο development τηs .ΝΕΤ μιας και οι developers όλου του κόσμου έπρεπε να ξέρουν C και μετά μεταπηδούσαν σε Java σνομπάροντας την BASIC...για ψυχολογικούς λόγους)

Κατα εμέ η Java ειναι μια τελειωμένη υπόθεση καθώς έχει απομείνει σαν Development Μόνο απο το OpenJDK το οποίο είναι πιο πολύ σε επίπεδο Nostalgia και η Oracle κάνει ότι μπορεί για την θάψει καθώς είναι φορτίο....άλλωστε έχει τις δικές της προτάσεις και σαν developement έχει χρόνια που σπρώχνει JS...Η Ms με βάση το γεγονος ότι δεν δέχεται πίεση την έχει θάψει με την σειρά της όσο αφορά την αποδοχή του JRE και οποιαδήποτε ανάπτυξη σε Desktop είναι τουλάχιστον προβληματική....για το Web εως τώρα το Spring ξύριζε αλλά η κατα κράτος επικράτηση της JS (node.js) και η επιτυχή είσοδος της .NET Core έχει φέρει τα πάνω κατω...καταξιωμένα Software Houses Που πίναν νερό στην Java ...σιγά σιγά αντικαθιστούν τα πάντα με JS.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1 ώρα πριν, masteripper είπε

ΑΝ είσαι Developer δεν έχει σημασία Java ή C#...σαν 1η σύλληψη είναι περίπου η ίδια...απλώς αλλάζει λίγο η σύνταξη (άλλωστε και η C# είναι μια μεταφορά της C σε Java alike μετά την πελώρια επιτυχία της Java στα 90ς και την αποτυχία της 1ης αντιμετώπισης της Ms με την J++...μετά το σκεφτήκαν περισσότερο και φτιάξαν την .NET και παράλληλα σπρωξαν την C# εν προκειμένου να δώσουν μια Cειοδής υπόσταση στο development τηs .ΝΕΤ μιας και οι developers όλου του κόσμου έπρεπε να ξέρουν C και μετά μεταπηδούσαν σε Java σνομπάροντας την BASIC...για ψυχολογικούς λόγους)

Κατα εμέ η Java ειναι μια τελειωμένη υπόθεση καθώς έχει απομείνει σαν Development Μόνο απο το OpenJDK το οποίο είναι πιο πολύ σε επίπεδο Nostalgia και η Oracle κάνει ότι μπορεί για την θάψει καθώς είναι φορτίο....άλλωστε έχει τις δικές της προτάσεις και σαν developement έχει χρόνια που σπρώχνει JS...Η Ms με βάση το γεγονος ότι δεν δέχεται πίεση την έχει θάψει με την σειρά της όσο αφορά την αποδοχή του JRE και οποιαδήποτε ανάπτυξη σε Desktop είναι τουλάχιστον προβληματική....για το Web εως τώρα το Spring ξύριζε αλλά η κατα κράτος επικράτηση της JS (node.js) και η επιτυχή είσοδος της .NET Core έχει φέρει τα πάνω κατω...καταξιωμένα Software Houses Που πίναν νερό στην Java ...σιγά σιγά αντικαθιστούν τα πάντα με JS.

Καλά δεν υπάρχουν μόνο τα software houses , εδώ μιλάμε ότι τραπεζικοί και ασφαλιστικοί οργανισμοί δεν έχουν καταφέρει ακόμη να ξεφύγουν απο τη Cobol και αρκετοί έχουν κάνει μεταπήδηση σε Java . Τώρα σοβαρό backend με JS δεν ξέρω αν μπορεί να γίνει

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

14 λεπτά πριν, tsofras είπε

Καλά δεν υπάρχουν μόνο τα software houses , εδώ μιλάμε ότι τραπεζικοί και ασφαλιστικοί οργανισμοί δεν έχουν καταφέρει ακόμη να ξεφύγουν απο τη Cobol και αρκετοί έχουν κάνει μεταπήδηση σε Java . Τώρα σοβαρό backend με JS δεν ξέρω αν μπορεί να γίνει

Η Java ηταν η φυσική μετεξέλιξη της Cobol :https://www.amazon.com/Java-COBOL-Programmers-Programming-Byrne/dp/1584505656

ΤΟ τι υπάρχει είναι σίγουρα μύλος...καθώς η Cobol σίγουρα ζει και βασιλευει... και το ίδιο ισχύει για την Java..αλλά όσον αφορά το μέλλον δεν βλέπω πολύ "αγάπη" π.χ για να κάνεις μια αναβάθμιση..λογικά για δεκάδες χρόνια θα έχει πολύ ψωμί αλλά σε επίπεδο συντήρησης και συμβουλευτικής για Migration

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

11 λεπτά πριν, masteripper είπε

Η Java ηταν η φυσική μετεξέλιξη της Cobol :https://www.amazon.com/Java-COBOL-Programmers-Programming-Byrne/dp/1584505656

ΤΟ τι υπάρχει είναι σίγουρα μύλος...καθώς η Cobol σίγουρα ζει και βασιλευει... και το ίδιο ισχύει για την Java..αλλά όσον αφορά το μέλλον δεν βλέπω πολύ "αγάπη" π.χ για να κάνεις μια αναβάθμιση..λογικά για δεκάδες χρόνια θα έχει πολύ ψωμί αλλά σε επίπεδο συντήρησης και συμβουλευτικής για Migration

Ναι οκ συμφωνώ , απλά δεν ξέρω κατα πόσο μπορεί να υποστηρίξει ένα σοβαρό backend σύστημα μία γλώσσα όπως η JS που ανέφερες

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
18 λεπτά πριν, tsofras είπε

Ναι οκ συμφωνώ , απλά δεν ξέρω κατα πόσο μπορεί να υποστηρίξει ένα σοβαρό backend σύστημα μία γλώσσα όπως η JS που ανέφερες

Πριν απο λίγα χρόνια δεν υπήρχε καν η JS και βλέπεις τη" ζημιά" έχει κάνει.

Γιατί νομίζεις η MS έφαγε τα λυσσακά της να πουσάρει το .NET Core....είδαν το 1Μ requests του Node.Js και μέχρι να το σπάσουν έγινε το έλα να δεις.

Αυτή την στιγμή απότι φαίνεται η .NET Core είναι η μόνη με στέρεο έδαφος....όλα τα άλλα είναι "ρευστά" ...αλλά ακόμα δεν έχει κερδίσει την "αγάπη".

Επεξ/σία από masteripper
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

5 ώρες πριν, tsofras είπε

Δεν θα συναντήσεις κάτι διαφορετικό επειδή μπορείς να γράφεις όπως πριν 10 χρόνια , αυτό δεν σημαίνει ότι δεν έχει αλλαγές όλα αυτά τα χρόνια .

Και συμφωνώ δεν είναι και η καλύτερη γλώσσα απο άποψη resources για απλά projects αλλά αν μιλάς για Spring boot συγκρίνεις υλοποίηση ενός framework για Java και όχι την ίδια την γλώσσα.

Κατα τα άλλα αν και δεν έχω γράψει c# κοίταγα σε κάποια φάση ένα block κώδικα στο stackoverflow και νόμιζα ότι διάβαζα java μέχρι που πέτυχα μία γραμμή που δεν καταλάβαινα τι ακριβώς έκανε και τότε κατάλαβα ότι είναι C# , είναι αρκετά όμοιες τουλάχιστον στον τρόπο γραφής.

Εγώ απο την άλλη γράφω Java περίπου 15 χρόνια , δεν μπορώ με την καμία να γράψω scripting γλώσσες , απο την άλλη όποτε έχει χρειαστεί να φτιάξω κανα site έτσι για την πάρτη μου , μου λείπει η απλότητα που υπάρχει σε κάποιες άλλες γλώσσες

γενικοτερα c# java θα γραψεις για enterprise προγραμματα γιατι εχει πολυ κωδικα που πρεπει να ριξεις, ενω ενα απλο site αν χρησιμοποιησεις πχ php η αλλες γλωσσες γινεται πολυ πιο απλα.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Πιστεύω οτι αυτο είδε και η oracle (αργή εξέλιξη) και άλλαξε τον κύκλο των releases αλλά νομίζω πως πλέον αρχίζει και δείχνει βήματα προόδου με το μόνο αρνητικό ότι σε επιπεδο εταιρειών/δουλειάς ανάθεμα και πότε θα φύγουνε απο την 8. Εννοώ ότι θα χεις features της γλώσσας αλλά δε θα μπορείς να τα χρησιμοποιείς στη καθημερινότητα...
Ακόμη και σε επίπεδο startup timing/memory το graalVM φαίνεται αρκετά υποσχόμενο όπως και το αντίστοιχο Quarkus framework (φυσικά ακόμη είναι σχετικά νωρίς).
Προσωπικά όσο τη μαθαίνω και παράλληλα βλέπω και άλλες γλώσσες (JS-TypeScript/Clojure) όλο και περισσότερο την απεχθάνομαι :P 
Αλλά η αλήθεια είναι οτι απο αυτή βγάζω ακόμη το ψωμί μου οπότε..

Επεξ/σία από ALLisCHAOS
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για να ξεκινήσει κάποιος .NET Core tutorials/courses κτλπ, χρειάζεται πρώτα να έχει δει το standard .NET;

Γιατί από όσο γνωρίζω στην Java πρέπει να πας πρώτα JavaEE, μετά Spring και τελικά Spring Boot αν θέλεις να έχεις μια καλύτερη κατανόηση του τι γίνεται "από πίσω".

Μιλάω πάντα για web ή cloud programming γιατί εκεί είναι η ζήτηση και το μέλλον.

Για απλά πράγματα και γρήγορα δεν το συζητώ... PHP/jQuery και ξερό ψωμί.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Μην μπερδεύεσαι από τα ονόματα. Μόνο το .net core χρειάζεσαι. Το .νετ (εκδόσεις έως 4.x, δηλαδή πριν την έλευση του .NET Core) είναι Legacy.
 To .net core είναι το ξαναγράψιμο του .net ώστε να είναι cross platform, πιο γρήγορο κλπ.
Σαν C# είναι η ίδια, απλά το .net core υποστηρίζει νεότερες εκδόσεις. Σαν framework έχουν κάποιες διαφορές αλλά σε λίγα πράγματα είναι η μέρα και η νύχτα
Αλλά δεν πρέπει καν να κοιτάξεις το παλιό .NET.
Στις 10 Νοεμβρίου βγαίνει το .net 5 που ενώνει το .net core (παύει να είναι core δλδ) με κα΄ποιες άλλες τεχνολογίες, και πλέον αυτό είναι και κανένα άλλο.

Μην πας να δεις tutorials γενικά. Δες τη c# μια, πάρε ένα ebook και πέρνα το μια στα γρήγορα, ή πήγαινε στο tutorialspoint.
Μετά φτιάξε ένα API, Μια εντολή είναι και βγαίνει ένα template. dotnet new webapi
Κοιτώντας τα docs-tutorials της microsoft, βάλε άλλους μερικούς controller. 
Έπειτα βάλε το Dapper, ένα Micro ORM που χτυπάς τη βάση με sql και σου κάνει map Τα entities.
Δες το Linq, υποχρεωτικά. Θα πάθεις πλάκα με το πως θα κάνεις Manipulate τα data. Αλλά πρόσεξε έχει δυο συντακτικά, ένα που μοιάζει με sql και ένα που μοιάζει με functional programming (fluent style). Εννοείται ότι δεν κοιτάς το συνατικτικό που μοιάζει με sql, αλλά μόνο το fluent.
Μετά δες Entity Framework Core. Είναι το ORM της Microsoft, θα σου αρέσει πως με το Linq που ξέρεις μιλάς με τη βάση.
Μετά βάλε λίγο infrastructure, jwt authentication, logging..
Σε όλο αυτό παίζε με το Postman, στείλε requests, Κάνε debug κλπ


Ε συγχαρητήρια, είσαι -και- .net developer!
Αν θες μετά βλέπεις MVC ή blazor για να γίνεις fullstack .NET
Εννοείται ότι όπου νιώσεις καλλυμμένος σταματάς, αλλά δεν είναι και τόσο τραγικό να πας ως το τέλος.

Επεξ/σία από sleon
  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στις 4/11/2020 στις 11:25 ΜΜ, sleon είπε

Μην μπερδεύεσαι από τα ονόματα. Μόνο το .net core χρειάζεσαι. Το .νετ (εκδόσεις έως 4.x, δηλαδή πριν την έλευση του .NET Core) είναι Legacy.
 To .net core είναι το ξαναγράψιμο του .net ώστε να είναι cross platform, πιο γρήγορο κλπ.
Σαν C# είναι η ίδια, απλά το .net core υποστηρίζει νεότερες εκδόσεις. Σαν framework έχουν κάποιες διαφορές αλλά σε λίγα πράγματα είναι η μέρα και η νύχτα
Αλλά δεν πρέπει καν να κοιτάξεις το παλιό .NET.
Στις 10 Νοεμβρίου βγαίνει το .net 5 που ενώνει το .net core (παύει να είναι core δλδ) με κα΄ποιες άλλες τεχνολογίες, και πλέον αυτό είναι και κανένα άλλο.

Μην πας να δεις tutorials γενικά. Δες τη c# μια, πάρε ένα ebook και πέρνα το μια στα γρήγορα, ή πήγαινε στο tutorialspoint.
Μετά φτιάξε ένα API, Μια εντολή είναι και βγαίνει ένα template. dotnet new webapi
Κοιτώντας τα docs-tutorials της microsoft, βάλε άλλους μερικούς controller. 
Έπειτα βάλε το Dapper, ένα Micro ORM που χτυπάς τη βάση με sql και σου κάνει map Τα entities.
Δες το Linq, υποχρεωτικά. Θα πάθεις πλάκα με το πως θα κάνεις Manipulate τα data. Αλλά πρόσεξε έχει δυο συντακτικά, ένα που μοιάζει με sql και ένα που μοιάζει με functional programming (fluent style). Εννοείται ότι δεν κοιτάς το συνατικτικό που μοιάζει με sql, αλλά μόνο το fluent.
Μετά δες Entity Framework Core. Είναι το ORM της Microsoft, θα σου αρέσει πως με το Linq που ξέρεις μιλάς με τη βάση.
Μετά βάλε λίγο infrastructure, jwt authentication, logging..
Σε όλο αυτό παίζε με το Postman, στείλε requests, Κάνε debug κλπ


Ε συγχαρητήρια, είσαι -και- .net developer!
Αν θες μετά βλέπεις MVC ή blazor για να γίνεις fullstack .NET
Εννοείται ότι όπου νιώσεις καλλυμμένος σταματάς, αλλά δεν είναι και τόσο τραγικό να πας ως το τέλος.

Ευχαριστώ για τις πληροφοριές. Ήδη ξεκίνησα tutorials για C# και προσπερνάω ότι είναι "κοινό" με Java.

Είχα την ευκαιρία για μια θέση σε JavaEE, αλλά το θέωρω πολύ legacy και δεν θέλω να μπλέξω σε κάτι που έχει πολύ ζόρι και όχι πολύ μέλλον. θα κάνω υπομονή να εξοικειωθώ με .NET για να κοιτάξω προς τα εκεί από του χρόνου.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στις 7/11/2020 στις 10:38 ΜΜ, denz είπε

Ευχαριστώ για τις πληροφοριές. Ήδη ξεκίνησα tutorials για C# και προσπερνάω ότι είναι "κοινό" με Java.

Είχα την ευκαιρία για μια θέση σε JavaEE, αλλά το θέωρω πολύ legacy και δεν θέλω να μπλέξω σε κάτι που έχει πολύ ζόρι και όχι πολύ μέλλον. θα κάνω υπομονή να εξοικειωθώ με .NET για να κοιτάξω προς τα εκεί από του χρόνου.

Καλά το όχι πολύ μέλλον δεν ξέρω από που πηγάζει , μέχρι και το 2020 η Java είτε θα είναι πρώτη γλώσσα στα rankings είτε στις πρώτες και είναι και από τις γλώσσες που πληρώνουν καλά σε σχέση με άλλες .

Το να ακυρώσεις θέση λόγω της γλώσσας δεν θεωρώ ότι είναι και πάντα η σωστή απόφαση και αν μιλάμε για J2EE δεν χρειάζεται απαραίτητα να είναι για legacy εφαρμογή . Επίσης ακόμη και με legacy κώδικα αν μπλέξεις δεν σημαίνει ότι είναι απαραίτητα κακό το να μπλέξεις με μια entreprise εφαρμογή και αποκτήσεις εμπειρία σε στήσιμο , συντήρηση κτλ. 
 

Σεβαστη η απόφαση σου , απλά λέω και εγώ τα δικά μου για όποιον διαβάζει ότι υπάρχει και άλλος τρόπος σκέψης 🤨

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1 ώρα πριν, tsofras είπε

Καλά το όχι πολύ μέλλον δεν ξέρω από που πηγάζει , μέχρι και το 2020 η Java είτε θα είναι πρώτη γλώσσα στα rankings είτε στις πρώτες και είναι και από τις γλώσσες που πληρώνουν καλά σε σχέση με άλλες .

Το να ακυρώσεις θέση λόγω της γλώσσας δεν θεωρώ ότι είναι και πάντα η σωστή απόφαση και αν μιλάμε για J2EE δεν χρειάζεται απαραίτητα να είναι για legacy εφαρμογή . Επίσης ακόμη και με legacy κώδικα αν μπλέξεις δεν σημαίνει ότι είναι απαραίτητα κακό το να μπλέξεις με μια entreprise εφαρμογή και αποκτήσεις εμπειρία σε στήσιμο , συντήρηση κτλ. 
 

Σεβαστη η απόφαση σου , απλά λέω και εγώ τα δικά μου για όποιον διαβάζει ότι υπάρχει και άλλος τρόπος σκέψης 🤨

Εννοείται, δεν είναι καθόλου άσχημη μια θέση σε οτιδήποτε έχει να κάνει με JavaEE/Web. Απλά είμαι σε φάση που θέλω να δοκιμάσω και την αντίπερα όχθη.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στις 10/11/2020 στις 10:49 ΜΜ, denz είπε

Εννοείται, δεν είναι καθόλου άσχημη μια θέση σε οτιδήποτε έχει να κάνει με JavaEE/Web. Απλά είμαι σε φάση που θέλω να δοκιμάσω και την ΔΙΠΛΑ όχθη.

Fixed :P 
Αντίπερα θα το δεχόμουν αν το γυρνούσες σε καμιά JS

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...