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

Γλώσσες Προγραμματισμού 2014-2015


DreaMakos

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

Χαίρομαι όταν βλέπω κάποιους ανθρώπους να αναλύουν ένα θέμα με πολύ λεπτομέρεια, ευχαριστώ και πάλι.

 

Σήμερα, βλέποντας αυτό το βίντεο 

 

 

αναρωτήθηκα, εάν και σήμερα οι προγραμματιστές που φτιάχνουν τις εφαρμογές τους χρησιμοποιούν τόσο πολύ κώδικα κάθε φορά που θέλουν να φτιάξουν ένα αντικείμενο μέσα σε μια εφαρμογή. Μήπως, χρησιμοποιούν έτοιμες βιβλιοθήκες ή χρησιμοποιούν κάποια user interface design tools, όπως Link.png Site: Visual StudioLink.png Site: Glade κτλ ?

 

 

Λογικά, αυτό θα σημαίνει ότι μπορείς και με μία γλώσσα προγραμματισμού να φτιάξεις τα κουμπιά, μενού, παράθυρα κτλ που είναι και χρονοβόρο, αλλά εκεί έξω οι προγραμματιστές τι χρησιμοποιούν, ξέρουμε ?

 

Ευχαριστώ εκ των προτέρων

    Πολυ κωδικα ακομη και σε visual studio τυπου, ο κωδικας πχ για Visual studio Wpf app δεν θα ειναι c#, αλλα xaml ας πουμε, αλλα οπως και να εχει το slide the control γενικως δεν παιζει. Βεβαια σε καθε app λιγο πολυ θα εχεις ενα στυλ για τα κουμπια ας πουμε οποτε μια φορα θα τα σχεδιασεις και μετα copy paste τον απαιτουμενο κωδικα.

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

  • Απαντ. 280
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

    Πολυ κωδικα ακομη και σε visual studio τυπου, ο κωδικας πχ για Visual studio Wpf app δεν θα ειναι c#, αλλα xaml ας πουμε, αλλα οπως και να εχει το slide the control γενικως δεν παιζει. Βεβαια σε καθε app λιγο πολυ θα εχεις ενα στυλ για τα κουμπια ας πουμε οποτε μια φορα θα τα σχεδιασεις και μετα copy paste τον απαιτουμενο κωδικα.

 

Σε WPF εφαρμογη μπορεις να χρησιμοποιησεις την εργαλειοθηκη για να σχεδιασεις κουμπικα κλπ οπως γινεται και σε WinForms. Αν θες κατα τον χρονο εκτελεσης αναγκαστικα πρεπει να χρησιμοποιησεις κωδικα. Δεν καταλαβαινω για ποιο λογο πρεπει να γραψεις κωδικα για να ζωγραφισεις ενα κουμπι εφοσον θελεις εξαρχης να υπαρχει στην φορμα.

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

@Dreamakos

Όπως λέει και ο φίλτατος Kercyn ξεκίνα με απλά cin και cout και μετά πας σε forms που θα βρεις αρκετές βιβλιοθήκες.

 

Εφόσον μάθεις καλά και τις κλάσεις πας σε ποιο ζουμερά θέματα.

 

Για Gui καλό είναι να χρησιμοποιείς κάτι ποιο cross platform όπως WxWidgets ή GTK. Αλλά μάθε τα βασικά να παίζεις μπάλα και προχωρας και σε άλλα. Πάρτο low low.

 

Είναι σαν μια γκόμενα πρώτα την φλερτάρεις μετά την χαιδεύεις μετά την φιλάς και μετά προχωρας στα υπόλοιπα πχ. στο στεφάνι.

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

Σε WPF εφαρμογη μπορεις να χρησιμοποιησεις την εργαλειοθηκη για να σχεδιασεις κουμπικα κλπ οπως γινεται και σε WinForms. Αν θες κατα τον χρονο εκτελεσης αναγκαστικα πρεπει να χρησιμοποιησεις κωδικα. Δεν καταλαβαινω για ποιο λογο πρεπει να γραψεις κωδικα για να ζωγραφισεις ενα κουμπι εφοσον θελεις εξαρχης να υπαρχει στην φορμα.

   Γιατι εφοσον σχεδιαζεις GUI σε WPF, θα χρησιμοποιησεις το δυνατο χαρτι που σου προσφερεται, που ειναι οι απεριοριστες δυνατοτητες customization. .

   Μεσω της εργαλειοθηκης φυσικα και μπορεις να σχεδιασεις ενα βασικο interface, οπως και θα κανεις στις πρωτες σου επαφες με το WPF. Αλλα οσο προχωρας καταλαβαινεις οτι ειναι πολυ πιο ευκολο, γρηγορο να γραφεις μονος σου τον κωδικα. ( και παλι δεν μιλαω για c# code, αλλα για xaml κωδικα ) 

 

   Αμα θελεις να κανεις ενα κουμπι πχ στρογγυλο, μακροστενο, οτιδηποτε περα απο τις βασικες επιλογες πρεπει να καταφυγεις σε κωδικα. Και πιστεψε με, δεν θελεις να φτιαξεις μια εφαρμογη που να μοιαζει σαν να βγηκε για windows 3.1 .

 

   Αλλα οπως αναφερθηκε, αυτο το σταδιο δεν σε ενδιαφερει ακομη, ειναι πολυ μακρια και πολυ εξιδεικευμενο. Η συντομη απαντηση μου ειναι αμα δεν θελεις η εφαρμογη σου να ειναι ασχημη, πρεπει να ψαχτεις για βιβλιοθηκες, για 3rd party controls που εχουνε ετοιμα αρκετα περισσοτερα skins, layouts, teamplates, και να μαθεις να τα τροποποιεις αναλογα με τις αναγκες σου.

 

 Σαν παραδειγμα φερνω την c#, γιατι αυτην ειναι η δουλεια μου, αλλα και σε java, και σε οποιαδηποτε γλωσσα σχεδιαζεις user interface apps ισχυουν τα ιδια.

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

@Dreamakos

Όπως λέει και ο φίλτατος Kercyn ξεκίνα με απλά cin και cout και μετά πας σε forms που θα βρεις αρκετές βιβλιοθήκες.

 

Εφόσον μάθεις καλά και τις κλάσεις πας σε ποιο ζουμερά θέματα.

 

Για Gui καλό είναι να χρησιμοποιείς κάτι ποιο cross platform όπως WxWidgets ή GTK. Αλλά μάθε τα βασικά να παίζεις μπάλα και προχωρας και σε άλλα. Πάρτο low low.

 

Είναι σαν μια γκόμενα πρώτα την φλερτάρεις μετά την χαιδεύεις μετά την φιλάς και μετά προχωρας στα υπόλοιπα πχ. στο στεφάνι.

 

Εντάξει, πρώτα θα μάθω τις βασικές εντολές της C++ και μετά θα επανέλθω στο θέμα. Εγώ για compiler χρησιμοποιώ αυτά Link.png Site: CodeBlocksLink.png Site: wxDev-C++ . Υπάρχει μήπως και κάτι καλύτερο (εκτός την visual C++) ?

 

Παρατήρησα ότι μερικά compilers δεν αναγνωρίζουν αυτό #include <iostream.h>,ενώ αυτό  #include <iostream> χαλαρά.

 

Ποιο από τα δύο WxWidgets ή GTK είναι καλύτερο (δηλ έχει τα περισσότερα χαρακτηριστικά) ?

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

Ποιο από τα δύο WxWidgets ή GTK είναι καλύτερο (δηλ έχει τα περισσότερα χαρακτηριστικά) ?

 

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

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

Εντάξει, πρώτα θα μάθω τις βασικές εντολές της C++ και μετά θα επανέλθω στο θέμα. Εγώ για compiler χρησιμοποιώ αυτά Link.png Site: CodeBlocksLink.png Site: wxDev-C++ . Υπάρχει μήπως και κάτι καλύτερο (εκτός την visual C++) ?

 

Παρατήρησα ότι μερικά compilers δεν αναγνωρίζουν αυτό #include <iostream.h>,ενώ αυτό  #include <iostream> χαλαρά.

 

Ποιο από τα δύο WxWidgets ή GTK είναι καλύτερο (δηλ έχει τα περισσότερα χαρακτηριστικά) ?

Εμείς στην σχολή χρησιμοποιουσαμε τον DevC++ για C και από ότι ξέρω παίζει και σε C++.

 

BTW αυτά είναι IDEs και όχι Compilers.

 

Όσο για compiler υπάρχει και ο http://www.drangon.org/mingw/αλλά θέλει περιβάλλον κονσόλας που σε windows είναι απαίσιο.

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

  • Moderators

Μακριά απ' το DevC++. Είναι παλιό, δεν αναπτύσσεται πια και έχει ένα σωρό προβλήματα. Εγώ χρησιμοποιώ το Visual Studio, αλλά έχω ακούσει καλά πράγματα και για το Code::Blocks.

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

Για να μην υπάρχουν παρανοήσεις όταν λέμε games εννοούμε τις μηχανές τους συνήθως στην εποχή μας. Έτσι; Μετά παίρνουν την μηχανή και γράφουν wrappers για μια πιο υψηλού επιπέδου γλώσσα. Σωστά;

Ας πούμε η Unity είναι γραμμένη σε C++ και C# αλλά χρησιμοποιείται η C# για τη χρήση της.

 

Το λέω περισσότερο για να το ξεκαθαρίσω κι εγώ στο μυαλό μου και να δεχτώ παρατηρήσεις.

 

Με τα λίγα που ξέρω, προσωπικά τη game engine θα την όριζα ως ένα assembly ή σύνολο από assemblies (exe,dll), το οποίο περιέχει κλάσεις ειδικευμένες σε λειτουργίες / μεθόδους που χρησιμοποιούνται για την ανάπτυξη παιχνιδιών.

 

Φτιάξε objects από τις κλάσεις και παραμετροποίησε τα δίνοντας δικά σου ονόματα και τιμές κτλπ, και φτιάχνεις ένα διαφορετικό παιχνίδι με την engine.

 

Πχ. μπορεί η engine να έχει τις κλάσεις 'Πλήκτρα', 'Περπάτημα' , και 'Άλμα'.

 

Δημιουργείς instance του 'Περπάτημα' και γράφεις ότι η μεταβλητή 'ταχύτητα περπατήματος' είναι ας πούμε 1.5 grids / s.

Στο instance του 'Άλμα' ότι το ύψος άλματος είναι 2μ.

Στο instance του 'Χειρισμος' βρίσκεις τη μεταβλητή 'Πλήκτρο W' και δηλώνεις ότι όταν πατηθεί, γίνεται χρήση της method 'Περπάτημα Εμπρός' της κλάσης 'Περπάτημα'. Στη μεταβλητή 'Πλήκτρο Space' δηλώνεις ότι όταν πατηθεί το πλήκτρο, θα εκτελείται η μέθοδος 'πήδημα'.

 

και πάει λέγοντας...

 

...

 

Η Engine σου παρέχει προσχέδια για να χρησιμοποιήσεις, και εσύ, με το να εισάγεις τα δικά σου αρχεία γραφικών και ήχου, να γράψεις τα δικά σου κείμενα, να σχεδιάσεις τα δικά σου levels, να δώσεις τιμές σε μεταβλητές και να δημιουργήσεις και καινούριες όπου χρειάζεται, φτιάχνεις το δικό σου game.

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

Αν μου ξέφυγε σόρρυ αλλά δεν είδα κανείς να αναφέρει την Javascript σαν ανερχόμενη γλώσσα προγραμματισμού.

Δεν αξίζει να ασχοληθεί κανείς?Είναι τόσο εύκολη και γι αυτό παραλείπεται?

Προσωπική μου άποψη είναι ότι θα κατακλύσει την αγορά τα προσεχή έτη(για να μην πω ότι το έχει ήδη κάνει)

 

Ο συνδυασμός Node.js και Angular.js αξίζει?Έχει υλοποιήσει κανείς web project μόνο με αυτά τα 2?

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

Για πολλούς το node.js και το angular.js είναι το next big thing.

 

Έχω δει εφαρμογή με αυτά τα δύο αν και προσωπικά δεν έχω γράψει. Πιστεύω ότι αξίζει κάποιος να ασχοληθεί.

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

Αν μου ξέφυγε σόρρυ αλλά δεν είδα κανείς να αναφέρει την Javascript σαν ανερχόμενη γλώσσα προγραμματισμού.

Δεν αξίζει να ασχοληθεί κανείς?Είναι τόσο εύκολη και γι αυτό παραλείπεται?

Προσωπική μου άποψη είναι ότι θα κατακλύσει την αγορά τα προσεχή έτη(για να μην πω ότι το έχει ήδη κάνει)

 

Ο συνδυασμός Node.js και Angular.js αξίζει?Έχει υλοποιήσει κανείς web project μόνο με αυτά τα 2?

 

Node.js είναι τέλειο για συγκεκριμένα είδη προγραμμάτων. Front-end προτιμώ Ember.js μακράν.

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

My 2 cents

 

Λέμε για javascript και εννούμε συνήθως 3 πράγματα:

 

α) την γλώσσα javascript

β) την «πλατφόρμα» (όπου τρέχει κυρίως η) javascript, δηλαδή τον browser.

γ) το οικοσύστηαμ των frameworks που έχουν γραφεί πάνω σε javascript (πχ jQuery, angular.js κτλ).

 

Η γλώσσα javascript έχει ιδιαιτερότητες αλλά εν γένει νομίζω ότι δεν είναι η καλύτερη γλώσσα για εισαγωγή στον προγραμματισμό. Όχι ότι δεν κάνει, αλλά αφενός κυκλοφορεί πολύ σαβούρα στο νετ και αφετέρου, κυρίως, είναι υπερβολικά συνδεδεμένη με την «πλατφόρμα» javascript. Εν ολίγοις υπάρχουν καλύτερες επιλογές.

 

Το πλεονέκτημα της «πλατφόρμας» javascript είναι ότι είναι πάρα πολύ ενδιαφέρουσα και ότι αναπτύσσεται ραγδαία (ίσως μάλιστα σε υπερβολικό βαθμό). Πληροφοριακά, το the next new big thing είναι μάλλον τα web components.

 

Το μειονέκτημα του οικοσυστήματος της javascript είναι ότι υπάρχει υπερβολικό hype και ότι αλλάζει ραγδαία. Βγαινει κάτι νέο, τρέχουν όλοι σε αυτό και μετά από 6 μήνες ή ένα χρόνο, there is a new kid in the block και όλοι παρατάνε το παλιό. Διάβασε πχ για το angular.js version 2  (σπάνε backward compatbility και πέφτει το κράξιμο της αρκούδας. Σκέψου ότι μιλάς για κάτι που έχει δεν έχει 2 χρόνια που έγινε mainstream. Τι να πούνε δηλαδή άλλες τεχνολογίες με code-bases πολλών ετών...).

 

Αν ήδη ξέρεις προγραμματισμό και σε ενδιαφέρει να ασχοληθείς με web development, η Javascript σου δίνει την δυνατότητα να χρησιμοποιήσεις την ίδια γλώσσα τόσο για το front-end (πχ angular.js, ember.js ή κάποιο άλλο από τα πολλά frameworks που υπάρχουν) όσο και για το back-end (δηλαδή το node.js). Αν αφαιρέσεις το hype, δεν ξέρω αν το node.js σου δίνει κάτι περισσότερο από τα back-end frameworks των υπολοίπων γλωσσών.

 

Αν ασχοληθείς με web-development, Javascript κάποια στιγμή θα υποχρεωθείς να μάθεις (έστω και αν είναι copy-paste jQuery snippets από το stack-overflow).

 

 

Node.js είναι τέλειο για συγκεκριμένα είδη προγραμμάτων. Front-end προτιμώ Ember.js μακράν.

care to elaborate? :)

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

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

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

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

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

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

Σύνδεση

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

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