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

Ποσες Διαφορετικες Γλωσσες


ntaryl

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

Δημοσ.

καλησπερα

παιδια Χρονια πολλα και Χρηστος ανεστη

Ποσοι απο εσας γνωριζετε περιοσοτερες απο μια Γλωσσες προγραμματισμου?

Μπορει να υπαρξει συνεργασια να μετατρεψουμε κατι απο μια γλωσσα σε μια αλλη

ευχαριστω

 

Υ.γ

Θα ητανπιστευω χρησιμο

Δημοσ.
Ναι

Φιλε μου ενοω Γλωσσες Προγραματισμου

 

Hi αληθώς .E τι σε τι θες να μετατρέψεις ?? Μήπως πάλι αφορά εκείνο που προσπαθούσες να κανεις με api hooks??

Δημοσ.

Αστα να πανε... προσπαθω να μετατρεψω μια εφαρμογη .net 2 c# σε c++ windows api (ή οπως λεγετε τελος παντων, Win32 project μου λεει), και ακομα το παλευω..

 

Υγ: ο compiler της vc++ 2008 ee δε με γουσταρει καθολου, το τι παραπονο ακουω απο αυτονε δε λεγετε...:shock:

Δημοσ.

Μιλαω γενικα

Φιλε θα ηταν χρησιμο με καποια βοηθεια ενος συναδελφου να μετατρεψουμε κατι

οτιδηποτε

 

 

Υ.γ api hook

Προσπαθω να το φτιαξω

αλλα ενω δινω

OpenProcess(PROCESS_ALL_ACCESS, 0, GetCurrentProcessId)

δεν μπορω να το καταφερω

Δημοσ.

Νομίζω πως η ιδέα της μετατροπής είναι κακή.

Όταν κάνεις κάτι σε μία γλώσσα καλό θα ήταν να το ξανά κάνεις αν αποφασίσεις να κάνεις το ίδιο σε άλλη γλώσσα....για κάποιον λόγο.

Δημοσ.

εγω ξερω γιατι γινεται αυτη η συζητηση

 

ο ntaryl θελει να μετατρεψει ολα τα projects που υπαρχουν παγκοσμιως σε VB6 ωστε να μη χρειαστει να αλλαξει γλωσσα προγραμματισμου :P:p

 

πρωτα θα παγωσει η κολαση και μετα ο ntaryl θα αφησει την αγαπημενη του VB6 :-D:-D:-D:-D

 

PS ειμαι ασχετος απο προγραμματισμο......

Δημοσ.
καλησπερα

παιδια Χρονια πολλα και Χρηστος ανεστη

Ποσοι απο εσας γνωριζετε περιοσοτερες απο μια Γλωσσες προγραμματισμου?

Μπορει να υπαρξει συνεργασια να μετατρεψουμε κατι απο μια γλωσσα σε μια αλλη

ευχαριστω

 

Υ.γ

Θα ητανπιστευω χρησιμο

 

Αληθώς Ανέστη ο Χριστός!

Χρόνια Πολλά!

 

Για να απαντήσω στο ερώτημά σου θα προσπαθήσω να το αλλάξω:

 

"Πόσοι από εσάς οδηγείτε περισσότερους από έναν τύπους οχημάτων;"

"Μπορεί να υπάρξει συνεργασία να μετατρέψουμε ένα όχημα σε ένα άλλο;"

 

Αν ακόμη υπάρχουν απορίες διαβάστε εδώ.

Δημοσ.

Εαν εκείνος είναι ο λόγος που θέλει να το κάνει τότε είμαι σίγουρος ότι λιγότερο χρόνο θα πάρει να μάθει και να τα μετατρέψει (για παράδειγμα) σε C++.

Δημοσ.
Μιλαω γενικα

Φιλε θα ηταν χρησιμο με καποια βοηθεια ενος συναδελφου να μετατρεψουμε κατι

οτιδηποτε

 

 

Υ.γ api hook

Προσπαθω να το φτιαξω

αλλα ενω δινω

OpenProcess(PROCESS_ALL_ACCESS, 0, GetCurrentProcessId)

δεν μπορω να το καταφερω

 

Κοίταξε να δεις proton : με την VB δεν μπορείς να καταλάβεις πως λειτουργεί από μέσα το ΩΣ : διαχείριση mnmhmhs δικαιώματα πάνω στην μνήμη ,επίσης καλο είναι να διαβάσεις για PE file format και τον PE header .Τώρα γιατί δεν μπορείς να γράψεις : πρέπει να δόσεις δικαιώματα εγγραφης σεκίνο το κομμάτι μνήμης για να μπορείς να γράψεις πάνω ,by default ανήκει στο εκτελέσιμο κομμάτι για το process ,και δεν έχεις δικαίωμα εγγραφης ,δες την VirtualProtect για να ορίσεις δικαιώματα .Νομίζω ότι αν θέλεις να ασχοληθείς σοβαρά με το system programming πρέπει να αλλάξεις την γλώσσα .Η VB αν και είναι διαδεδομένη στην Ελλάδα γιατί είναι η πιο απλή δεν σου δίνει την δυνατότητα να προχωρήσεις πιστεύω .Επίσης δεν χρειάζεται να ανοίξεις το process σου το μονο που θέλεις είναι να πάρεις την address της function που θέλεις να κανεις hook να ορίσεις δικαιώματα για εγγραφη και να αλλάξεις τα πρώτα 5 bytes της σε ένα jmp στην δικια σου function ,εκτος αν θέλεις να χρησιμοποιήσεις το splicing για να κανεις αυτήν την δουλειά οποτε διαβάζεις για PE files . Θα συμφωνήσω ότι δεν έχει νόημα να μετατρέπεις κάτι από μια γλώσσα σε μια άλλη ,δεν έχει νόημα και για εσένα αφού δεν πιστεύω ότι θα μάθεις κάτι με αυτόν τον τρόπο .

Δημοσ.

Ας της πάρω με την σειρά που τις έμαθα:

Logo

Basic

Turbo Pascal

Turbo C

QBasic

dBase IV (αν μετράει σαν γλώσσα προγραμματισμού εφαρμογών βάσεων δεδομένων)

Visual Basic 6

Visual C++

Visual Basic .NET

ASP.NET

Javascript

AJAX

C# (δεν την χρησιμοποιώ, έχω συνηθίσει την VB.NEΤ. είναι ακριβώς η ίδιες γλώσσες με διαφορετική σύνταξη).

 

Κοίταξε να δεις proton : με την VB δεν μπορείς να καταλάβεις πως λειτουργεί από μέσα το ΩΣ : διαχείριση mnmhmhs δικαιώματα πάνω στην μνήμη ,επίσης καλο είναι να διαβάσεις για PE file format και τον PE header .Τώρα γιατί δεν μπορείς να γράψεις : πρέπει να δόσεις δικαιώματα εγγραφης σεκίνο το κομμάτι μνήμης για να μπορείς να γράψεις πάνω ,by default ανήκει στο εκτελέσιμο κομμάτι για το process ,και δεν έχεις δικαίωμα εγγραφης ,δες την VirtualProtect για να ορίσεις δικαιώματα .Νομίζω ότι αν θέλεις να ασχοληθείς σοβαρά με το system programming πρέπει να αλλάξεις την γλώσσα .Η VB αν και είναι διαδεδομένη στην Ελλάδα γιατί είναι η πιο απλή δεν σου δίνει την δυνατότητα να προχωρήσεις πιστεύω .Επίσης δεν χρειάζεται να ανοίξεις το process σου το μονο που θέλεις είναι να πάρεις την address της function που θέλεις να κανεις hook να ορίσεις δικαιώματα για εγγραφη και να αλλάξεις τα πρώτα 5 bytes της σε ένα jmp στην δικια σου function ,εκτος αν θέλεις να χρησιμοποιήσεις το splicing για να κανεις αυτήν την δουλειά οποτε διαβάζεις για PE files . Θα συμφωνήσω ότι δεν έχει νόημα να μετατρέπεις κάτι από μια γλώσσα σε μια άλλη ,δεν έχει νόημα και για εσένα αφού δεν πιστεύω ότι θα μάθεις κάτι με αυτόν τον τρόπο .

Παλιότερα ίσχυε αυτό, αλλά πλέον η C και η VB έχουν τις ίδιες δυνατότητες (στα windows πάντα).

 

Θες δείκτες στην θέση μνήμης μεταβλητών όταν καλείς μια συνάρτηση; Χρησιμοποιείς το byref

 

Θες να δεσμεύσεις δυναμικά μνήμη και να δημιουργήσεις δεικτες;

http://www.codeproject.com/KB/vbscript/how_to_do_pointers_in_visual_basic.aspx

Δημοσ.
Ας της πάρω με την σειρά που τις έμαθα:

...

C# (δεν την χρησιμοποιώ, έχω συνηθίσει την VB.NEΤ. είναι ακριβώς η ίδιες γλώσσες με διαφορετική σύνταξη).

 

Παλιότερα ίσχυε αυτό, αλλά πλέον η C και η VB έχουν τις ίδιες δυνατότητες (στα windows πάντα).

...

 

(Πρέπει να είσαι παλαιός...

και εγώ που νόμιζα ότι είμαι ο παππούς με τα εγγόνια, να που προέκυψε και ένας γιος... :-) )

 

Λοιπόν σχετικά με την 2η φράση: η C είναι μια γλώσσα προγραμματισμού ενώ η VB είναι ΜΙΑ ΥΛΟΠΟΙΗΣΗ - ΠΑΡΑΦΡΑΣΗ της BASIC από μια εταιρία και με βάση αυτό ΔΕΝ ΣΥΓΚΡΙΝΟΝΤΑΙ ΜΕ ΤΗΝ C.

 

Αντίθετα θεωρώ την 1η φράση (σύγκριση C# με VB) σωστή με αυτή την έννοια. Δεν έχω windows και δεν ξέρω περισσότερα. Δεν ξέρω ούτε τον λόγο να βγει μια C# όταν υπάρχει η C++ (εννοώ VC++ έκανα το ίδιο λάθος :-) )... Η M$ όμως θα τον ξέρει... αλλά δεν με ενδιαφέρει...

 

Τώρα όσοι ενδιαφέρονται για συγκρίσεις ας ρίξουν μια ματιά εδώ.

 

Θυμίζω ότι καλύτερη γλώσσα είναι αυτή που πράγματι χρειάζεται να ξέρεις.

Δημοσ.
Λοιπόν σχετικά με την 2η φράση: η C είναι μια γλώσσα προγραμματισμού ενώ η VB είναι ΜΙΑ ΥΛΟΠΟΙΗΣΗ - ΠΑΡΑΦΡΑΣΗ της BASIC από μια εταιρία και με βάση αυτό ΔΕΝ ΣΥΓΚΡΙΝΟΝΤΑΙ ΜΕ ΤΗΝ C.

 

Αντίθετα θεωρώ την 1η φράση (σύγκριση C# με VB) σωστή με αυτή την έννοια. Δεν έχω windows και δεν ξέρω περισσότερα. Δεν ξέρω ούτε τον λόγο να βγει μια C# όταν υπάρχει η C++ (εννοώ VC++ έκανα το ίδιο λάθος :-) )... Η M$ όμως θα τον ξέρει... αλλά δεν με ενδιαφέρει...

 

Τώρα όσοι ενδιαφέρονται για συγκρίσεις ας ρίξουν μια ματιά εδώ.

Η C# κατά την γνώμη μου κυκλοφόρησε για να προσελκύσει προγραμματιστές της C και C++ στην πλατφόρμα της Microsoft .ΝΕΤ

 

Επειδή χρησιμοποιώ VB.NET εδώ και πολλά χρόνια (ακόμα και τώρα που η MS σπρώχνει την C#), έχω μάθει να κάνω τα πάντα.

 

Όπως ανάφερες δεν χρησιμοποιείς Windows. Στα windows, ιδιαίτερα στις τελευταίες εκδόσεις, η διαχείριση της μνήμης γίνεται κυρίως από το λειτουργικό, και δεν αφήνει πολλά περιθώρια στον χρήστη. Όλοι οι compilers αν θέλουν πρόσβαση σε χαμηλό επίπεδο στο σύστημα, κάνουν import κάποια dll των windows, οπότε οι διαδικασίες είναι οι ίδιες.

 

Η C++ έχει σίγουρα πλεονεκτήματα, όπως δυνατότητα χρήσης inline assembly απευθείας στον κώδικα (στην VB.NET αν θες να κάνεις μια ρουτίνα σε assembly πρέπει να την κάνεις dll με έναν compiler και μετά την χρησιμοποιείς), δυνατότητα επέμβασης σε "ευαίσθητες" περιοχές στην μνήμη, κτλ.

 

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

 

Αυτό αποφεύγει η Microsoft με την μετάβαση σε managed code, όπου οι πιθανότητες για memory leaks από λάθος σχεδόν εκμηδενίζονται.

 

Θυμίζω ότι καλύτερη γλώσσα είναι αυτή που πράγματι χρειάζεται να ξέρεις.

 

Συμφωνώ με 1000 !

 

Update:

Ξέχασα να αναφέρω ότι είχα ασχοληθεί και λίγο με x86 assembly, Atmel AVR assembly (είχα προγραμματίσει έναν συναγερμό), και windows mobile development.

Δημοσ.
Ας της πάρω με την σειρά που τις έμαθα:

Logo

Basic

Turbo Pascal

Turbo C

QBasic

dBase IV (αν μετράει σαν γλώσσα προγραμματισμού εφαρμογών βάσεων δεδομένων)

Visual Basic 6

Visual C++

Visual Basic .NET

ASP.NET

Javascript

AJAX

C# (δεν την χρησιμοποιώ, έχω συνηθίσει την VB.NEΤ. είναι ακριβώς η ίδιες γλώσσες με διαφορετική σύνταξη).

 

 

Παλιότερα ίσχυε αυτό, αλλά πλέον η C και η VB έχουν τις ίδιες δυνατότητες (στα windows πάντα).

 

Θες δείκτες στην θέση μνήμης μεταβλητών όταν καλείς μια συνάρτηση; Χρησιμοποιείς το byref

 

Θες να δεσμεύσεις δυναμικά μνήμη και να δημιουργήσεις δεικτες;

http://www.codeproject.com/KB/vbscript/how_to_do_pointers_in_visual_basic.aspx

 

Από περιέργεια, γιατί κάνεις διαχωρισμό της javascript με AJAX ?

Είναι άλλη γλώσσα προγραμματισμού ? Μάλλον σου ξέφυγε αυτό ;)

Αρχειοθετημένο

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

  • Δημιουργία νέου...