Τα πάντα για την java

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 05 Ιαν 2012, 00:07

migf1 έγραψε:Είναι ολίγον "μισή" η προηγούμενη απάντησή μου. Στη C αν δεν θέλεις ΔΕΝ χρησιμοποιείς pointers και γράφεις typed safe κώδικα. Στη Java ακόμα κι αν το θελήσεις, δεν μπορείς να έχεις pointers ;) Παράδειγμα περίπτωσης που ως "καλύτερο" μπορεί να οριστεί η ελευθερία στην επιλογή υλοποίησης.

Δε ξέρω πώς κάνεις typed sade κώδικα στη C και δε ξέρω που θα σου χρειαστεί να χρησιμοποιήσεις δείκτες στη Java.
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό migf1 » 05 Ιαν 2012, 00:45

giannosfor έγραψε:
migf1 έγραψε:Είναι ολίγον "μισή" η προηγούμενη απάντησή μου. Στη C αν δεν θέλεις ΔΕΝ χρησιμοποιείς pointers και γράφεις typed safe κώδικα. Στη Java ακόμα κι αν το θελήσεις, δεν μπορείς να έχεις pointers ;) Παράδειγμα περίπτωσης που ως "καλύτερο" μπορεί να οριστεί η ελευθερία στην επιλογή υλοποίησης.

Δε ξέρω πώς κάνεις typed sade κώδικα στη C

Παράδειγμα ΜΗ safe κώδικα:
Κώδικας: Επιλογή όλων

#include <stdio.h>

struct test {
float x;
int y;
char s[10+1];
};
int main( void )
{
struct test rec, *prec = &rec;
void *p = NULL;

prec = p; /* <---- !!!!!!!!!! ----- */
printf("x = %g\n", prec->x); /* <------ BOOM !!!!!!!!!!*/

return 0;
}
O compiler ΔΕΝ θα παραπονεθεί στο παραπάνω, αλλά θα χτυπήσει error στο runtime.

Παράδειγμα safe κώδικα σε C...
Κώδικας: Επιλογή όλων

#include <stdio.h>
struct test {
float x;
int y;
char s[10+1];
};
int main( void )
{
struct test rec, p = rec;

printf("x = %g\n", rec.x);
return 0;
}


έγραψε:και δε ξέρω που θα σου χρειαστεί να χρησιμοποιήσεις δείκτες στη Java.

Π.χ. για να παρακάμψεις εσωτερικούς ελέγχους της γλώσσας προς χάριν της ταχύτητας.

Ή για να διαβάσεις απευθείας τη διεύθυνση μιας περιοχής της μνήμης, π.χ. για να φτιάξεις έναν memory viewer...

Κώδικας: Επιλογή όλων

#include <ctype.h>
#include <stdio.h>

typedef unsigned char BYTE;

int main( void )
{
unsigned int addr;
int i, n;
BYTE *ptr;

printf("Address of main function: %x\n", (unsigned int) main);
printf("Address of addr variable: %x\n", (unsigned int) &addr);

printf("\nEnter a (hex) address: ");
scanf("%x", &addr);
printf("Enter number of bytes to view: ");
scanf("%d", &n);

printf("\n");
printf(" Address Bytes Characters\n");
printf(" ------- ----------------------------- ----------\n");

ptr = (BYTE *) addr;
for (; n > 0; n -= 10) {
printf("%8X ", (unsigned int) ptr);
for (i = 0; i < 10 && i < n; i++)
printf("%.2X ", *(ptr + i));
for (; i < 10; i++)
printf(" ");
printf(" ");
for (i = 0; i < 10 && i < n; i++) {
BYTE ch = *(ptr + i);
if (!isprint(ch))
ch = '.';
printf("%c", ch);
}
printf("\n");
ptr += 10;
}

return 0;
}
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Ilias95 » 05 Ιαν 2012, 01:10

migf1 έγραψε:Έχω αποσυρθεί εδώ κι αρκετά χρόνια

Off topic:
Για ποιους λόγους αν επιτρέπεται; (και εάν βεβαίως δεν είναι προσωπικοί)
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 05 Ιαν 2012, 01:19

Δε ξέρω @migf1 δεν έχω τόσες γνώσεις για να σε παραβγώ.
Άλλα δε βλέπω το λόγο να χρησιμοποιήσεις δείκτες και δομές την στιγμή που η Java σου παρέχει κλάσεις και αντικείμενα.
Τώρα όσο αφορά το memory viewer σίγουρα η Java θα έχει έτοιμα εργαλεία για να το κάνεις.

Off topic:
Ευτυχώς που φτιάξαμε ένα thread για Java :mrgreen:
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό migf1 » 05 Ιαν 2012, 01:23

Ilias95 έγραψε:
migf1 έγραψε:Έχω αποσυρθεί εδώ κι αρκετά χρόνια

Off topic:
Για ποιους λόγους αν επιτρέπεται; (και εάν βεβαίως δεν είναι προσωπικοί)

Off topic:
Ασχολήθηκα με το εμπόριο (που να το ήξερα τότε το σημερινό χάλι :p )

@giannosfor: από όσο γνωρίζω, με Java απλά δεν μπορείς... καλείς ρουτίνες γραμμένες σε άλλη γλώσσα (μπορεί να έχει αλλάξει όμως, γιατί πάει πολύς καιρός)
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 05 Ιαν 2012, 01:32

giannosfor έγραψε:Έχεις δίκιο σε αυτά που λες και ίσως έπρεπε να ανοίξουμε ένα άλλο thread για αυτή τη συζήτηση.

Θέλω να πιστεύω ότι κάθε νέα γλώσσα βγαίνει για να παραλείψει τα λάθη προηγούμενων και να προσθέσει
καινούργια πλεονεκτήματα.

Ο φίλος μου ο @Star_Light ανέφερε ότι δε του αρέσει που η Java δεν έχει δείκτες.
Να θυμίσω ότι ένα απ'τα μειονεκτήματα της γλώσσας ήταν αυτό.Είναι το θέμα της ασφάλειας!

Άρα καμιά φορά δεν έχει σημασία τη βολεύει εσένα αλλά τι είναι καλύτερο.


ελα φιλε μου :D

Ναι μας έχει κανει ολοκληρες διαλέξεις ο migf1 περι ασφάλειας στην C! :D

Να ναι καλα ο ανθρωπος... μαθαμε πολλα. -.- (migf1 για μαθηματα ποσα θα παιρνες την ωρα πχ? :P )

πιστευω το μεταπτυχιακο μου θα το αναλαμβανες εσυ!!!!!!!!

Στο δια ταυτα τωρα

Εγω πιστευω πως η C ειναι για καποιον που γουσταρει βάθος βαθος βαθος

στα πραγματα... οσο και αν σου φαινεται περιεργο υπάρχουν ανθρωποι που τους αρεσει και λιγη δυσκολια σε ολα οχι μονο στον προγραμματισμο

Παρολαυτα τωρα στο ξεκινημα καποιες φορες η αυτοματοποιηση στην Java μου την "εδινε" για αυτο ειπα οτι μπορει να εγκαταλειψω
αν και τωρα που το ξανασκεφτομαι δεν υπάρχει λογος γιατι μπορω να ασχολουμαι και με τις 2 γλωσσες. Με λιγη σωστη οργανωση και μεθοδικοτητα
ολα τα προλαβαινεις.

p.s Αν δεν εχει και λιγη δυσκολια δεν υπάρχει δράση και σασπένς οποτε δεν με συγκινει εμενα προσωπικα.
Ισως ειναι και θεμα χαρακτηρα η επιλογη της γλωσσας???? γιατι οχι. ;)
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 05 Ιαν 2012, 02:08

Star_Light έγραψε:στα πραγματα... οσο και αν σου φαινεται περιεργο υπάρχουν ανθρωποι που τους αρεσει και λιγη δυσκολια σε ολα οχι μονο στον προγραμματισμο

Παρολαυτα τωρα στο ξεκινημα καποιες φορες η αυτοματοποιηση στην Java μου την "εδινε" για αυτο ειπα οτι μπορει να εγκαταλειψω
αν και τωρα που το ξανασκεφτομαι δεν υπάρχει λογος γιατι μπορω να ασχολουμαι και με τις 2 γλωσσες. Με λιγη σωστη οργανωση και μεθοδικοτητα
ολα τα προλαβαινεις.

p.s Αν δεν εχει και λιγη δυσκολια δεν υπάρχει δράση και σασπένς οποτε δεν με συγκινει εμενα προσωπικα.
Ισως ειναι και θεμα χαρακτηρα η επιλογη της γλωσσας???? γιατι οχι. ;)

Να σου θυμίσω ότι ακόμα προσπαθείς να μάθεις τι είναι κλάση και κληρονομικότητα άρα έχει αρκετή δυσκολία
Κανείς δεν είπε ότι η Java είναι εύκολη,είπα ότι κάτι απλό στη Java μπορεί να είναι πολύ δύσκολο στη C
που έτσι είναι.
Όσο για την αυτοματοποίηση μην νομίζεις ότι θα τα βρείς όλα έτοιμα και όπως είπα το δύσκολο είναι να ακολουθήσεις
την λογική της αντικειμενοστρέφειας που αν την μάθεις τα πράγματα γίνονται πολύ καλύτερα,και σου εγγύουμε ότι
αν μάθεις αντικειμενοστραφή προγραμματισμό θα αναθεωρήσεις.
Δεν είναι θέμα χαρακτήρα,αν θες να κάθεσαι να ανακαλύπτεις τον τροχό απ'την αρχή κάθε φορά αυτό λέγεται διαφορετικά.
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 05 Ιαν 2012, 02:20

Star_Light έγραψε:στα πραγματα... οσο και αν σου φαινεται περιεργο υπάρχουν ανθρωποι που τους αρεσει και λιγη δυσκολια σε ολα οχι μονο στον προγραμματισμο

Παρολαυτα τωρα στο ξεκινημα καποιες φορες η αυτοματοποιηση στην Java μου την "εδινε" για αυτο ειπα οτι μπορει να εγκαταλειψω
αν και τωρα που το ξανασκεφτομαι δεν υπάρχει λογος γιατι μπορω να ασχολουμαι και με τις 2 γλωσσες. Με λιγη σωστη οργανωση και μεθοδικοτητα
ολα τα προλαβαινεις.

p.s Αν δεν εχει και λιγη δυσκολια δεν υπάρχει δράση και σασπένς οποτε δεν με συγκινει εμενα προσωπικα.
Ισως ειναι και θεμα χαρακτηρα η επιλογη της γλωσσας???? γιατι οχι. ;)


Προσπάθησε να δεις πόσα πράγματα μπορείς να κάνεις με τη C με αυτά που ξέρεις τώρα.Σε διαβεβαιώ πολύ λίγα.
Δες πόσα πράγματα θα καταφέρεις με αντικειμενοσταφή στον ίδιο χρόνο που θα αφιερώσεις.Καμία σχέση.
Θα με καταλάβεις αν ακολουθήσεις αυτόν τον δρόμο.
C έμαθα σε δύο εξάμηνα,Java δηλαδή αντικειμενοσταφή χρειάστηκα πολλύ περισσότερο για να λέω ότι ξέρω.
Δεν είναι η C δύσκολη αλλά η λογική της.Καταναλώνεις τον εαυτό σου για πράγματα τα οποία δε χρειάζεται.Καίγεσαι με λίγα λόγια.
Και μπορείς να πεις οτι αυτό είναι καλό και σε βοηθάει άλλα κάποια στιγμή θες να πας παρακάτω και να δεις τι μπορείς
πραγματικά να κάνεις.
Είναι καλή η C για εκμάθηση και μύηση στο προγραμματισμό και γι'αυτό την προτιμούσαν μέχρι τώρα τα ιδρύματα
σαν εισαγωγή στο προγραμματισμό αλλά ως εκεί απο'κει και πέρα το κάνεις για δική σου ευχαρίστηση και κάψιμο.

Προσωπικά εγώ πιστεύω ότι δε θα μου χρειαστεί ποτέ,άμεσα,αλλά έμμεσα με βοήθησε αρκετά,απλά είναι ένα σκαλοπάτι
για να πας παραπέρα.
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 05 Ιαν 2012, 02:24

Έλα έγινα και punkTUX
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 05 Ιαν 2012, 03:15

giannosfor έγραψε:
Να σου θυμίσω ότι ακόμα προσπαθείς να μάθεις τι είναι κλάση και κληρονομικότητα άρα έχει αρκετή δυσκολία
Κανείς δεν είπε ότι η Java είναι εύκολη,είπα ότι κάτι απλό στη Java μπορεί να είναι πολύ δύσκολο στη C
που έτσι είναι.
Όσο για την αυτοματοποίηση μην νομίζεις ότι θα τα βρείς όλα έτοιμα και όπως είπα το δύσκολο είναι να ακολουθήσεις
την λογική της αντικειμενοστρέφειας που αν την μάθεις τα πράγματα γίνονται πολύ καλύτερα,και σου εγγύουμε ότι
αν μάθεις αντικειμενοστραφή προγραμματισμό θα αναθεωρήσεις.
Δεν είναι θέμα χαρακτήρα,αν θες να κάθεσαι να ανακαλύπτεις τον τροχό απ'την αρχή κάθε φορά αυτό λέγεται διαφορετικά.


Και εγω καποια στιγμη θα σου θυμήσω να με βοηθησεις τοτε !!! :D
Ψαχνω και δουλεια παραλληλα... διαβαζω και λιγο Java ισως
φτιαξω και δικο μου σαιτ (μακρυνο ονειρο) κατι σαν δικη μου επιχειρηση
γιατι δεν μου ειναι ευκολο ουτε να ξεσπιτωνομαι (γουσταρω ελλαδιτσα κακα τα ψεμματα)
ετσι βολτες και αλητεια !!!
Αλλα και με τους εργοδοτες καλη μεν η δουλεια αλλα εισαι λιγο εξαρτημένος.

Ακομη δεν εχω κατασταλαξει... το ψαχνω. Παντως αν καναμε ενα σαιτ και επιανε
θα ειχαμε λυσει το προβλημα μας πιστευω. Ειναι πολυ καλη ιδεα η επιχειρηματικοτητα μεσω ιντερνετ -.-
δεν υπάρχει αυτη τη στιγμη ανθρωπος ειτε γερος ειτε νεος ... που να μην χαλαει το λιγοτερο 2 ωρες την ημερα στο ιντερνετ !!!
Εφοσον ο κοσμος παει στο ιντερνετ.... και οι δουλειες εκει πανε. Για αυτο και παλια ελεγα σε ενα θρεντ σε ολους οτι δουλεια υπαρχει. Αλλα θελει ψαξιμο και στρωσιμο... πχ να φτιαξεις εσυ το σαιτ θελει διαβασμα δεν ειναι ευκολο... μετα το μαρκετιν και η διαφημιση του ωστε να φερεις κοσμο... και παλι δεν ειναι ευκολο!!!! Και ερχεσαι και εσυ τωρα και μου λες οτι η C σου δυσκολευει χωρις λογο την ζωη.... η ζωη ουτως η αλλως ειναι απο μονη της "δυσκολη" και θελει καθημερινη επαγρυπνιση και να εισαι σβούρας!!!!
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι

cron