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

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

Δημοσ.

Δεν ξέρω πόσοι έχετε Facebook ή όχι αλλά, κάτω κάτω στο footer έχει κάτι links, ένα εκ των οποίων λέει career. Όπου αν πας λέει ποιες θέσεις εργασίας ζητάν. Στη θέση Software engineer για να κανείς apply το cv σου βάζουν να λύσεις ένα πρόβλημα εντός δύο ωρών ΣΕ ΟΠΟΊΑ ΓΛΏΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΎ ΘΕΣ (όχι όλες φυσικά, αλλά έχει C, C++, java, PHP, C#, scala ...).

Από περιέργεια μπήκα σήμερα το πρωί να δω τι θα είναι αυτό το πρόβλημα και γιατί ΔΕΝ ΤΟΥΣ ΕΝΔΙΑΦΈΡΕΙ η γλώσσα. Μόλις διάβασα το πρόβλημα, κατάλαβα το "γιατί".

 

Υπόθεστέ μια σκακιέρα ΝxN διαστάσεων στην οποία πρέπει να τοποθετηθούν Ν βασιλιάδες έτσι ώστε

1. Κάθε στήλη και κάθε γραμμή της σκακιέρας έχει μόνο έναν βασιλιά

2. Κανένας βασιλιάς να μην είναι γειτονικός με κανέναν άλλο, οριζόντια, κατακόρυφα ή διαγώνια. (δηλαδή να μην "τρώει" κάποιον)

Σαν input σου δίνονται διάφορα test cases (των οποίων η μορφή γράφεται παρακάτω)και σαν output δίνεις το πλήθος των αποδεκτών τοποθετήσεων του κάθε case

Το case file στην πρώτη γραμμή έχει έναν ακέραιο (έστω Τ) όπου είναι ο αριθμός των cases. Στις επόμενες γραμμές ακολουθούν Τ cases της μορφής:

Στην πρώτης γραμμή δίνετε το Ν (ακέραιος) ακολουθούμενο από το Κ, το οποίο είναι ο αριθμός των ήδη τοποθετημένων βασιλιάδων στη σκακιέρα. Στην επόμενη γραμμή υπάρχουν Κ ακέραιοι χωρισμένοι με κενό όπου ο ιοστος ακέραιος είναι η στήλη στην οποία είναι ο βασιλιάς της ιοστης γραμμής της σκακιέρας.

 

Καθαρό πρόβλημα δυναμικού προγραμματισμού. Να σημειώσω ότι το θέμα δεν ήταν μόνο η λύση αλλά και το πόσο efficient θα είναι ο κώδικας, εγώ πχ στα πρώτα 5 case files τα έβαζα ολοσωστά, στο 6ο όμως μου έλεγε time out...

 

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

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

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

>Downloadpercent, στις 19 Ιούλιος 2012 - 09:12 πμ, έγραψε:... απλά εγώ λεω ότι η .ΝΕΤ γλώσσες είναι υπερβολικά εύκολες, δηλαδή κάποιος που ξέρει .ΝΕΤ εγώ τον αντιλαμβάνομαι σαν τον καθένα μας που ξέρει να περνάει προγράμματα στο ΠΣ και να τα ρυθμίζει, δηλαδή σαν απλό χρήστη ενός εργαλείου...

είναι εύκολες οι .ΝΕΤ γλώσσες? αρχισα να διαβάζω το Developing Applications with Visual Studio .NET και δεν μου φανηκε τιποτα ευκολο. Μήπως διαβάζω λάθος βιβλίο?

Επεξ/σία από alan2
Δημοσ.

>Downloadpercent, στις 19 Ιούλιος 2012 - 09:12 πμ, έγραψε:... απλά εγώ λεω ότι η .ΝΕΤ γλώσσες είναι υπερβολικά εύκολες, δηλαδή κάποιος που ξέρει .ΝΕΤ εγώ τον αντιλαμβάνομαι σαν τον καθένα μας που ξέρει να περνάει προγράμματα στο ΠΣ και να τα ρυθμίζει, δηλαδή σαν απλό χρήστη ενός εργαλείου...

είναι εύκολες οι .ΝΕΤ γλώσσες? αρχισα να διαβάζω το Developing Applications with Visual Studio .NET και δεν μου φανηκε τιποτα ευκολο. Μήπως διαβάζω λάθος βιβλίο?

 

Ναι ειναι. Στο κατω κατω αυτος ειναι ο σκοπος της δημιουργιας μια highlevel γλωσσας, να φτιαχνεις πολυπλοκα πραγματα σχετικα ευκολα και σχετικα με λιγοτερα bugs και παν απολα να κατανοεις αυτο που εγραψες. Βεβαια υπαρχει και ενα κομματι που πολλοι το συσχετιζουν με την γλωσσα, αυτο ειναι οι codegenerators που εχει το vs, πχ οταν ζωγραφιζεις μια φορμα ή κανεις ενα linq to X.. Αλλα αυτο δεν εχει σχεση με την γλωσσα, code generator μπορεις να φτιαξεις για οποιαδηποτε γλωσσα.

Δημοσ.

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

Η ατάκα "υπερβολικα εύκολη γλώσσα" δε στέκει λογικά. Όλοι σε κρίνουν εκ του αποτελέσματος και όχι από την τεχνολογία που χρησιμοποιείς.

Δημοσ.

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

Η ατάκα "υπερβολικα εύκολη γλώσσα" δε στέκει λογικά. Όλοι σε κρίνουν εκ του αποτελέσματος και όχι από την τεχνολογία που χρησιμοποιείς.

 

είναι "υπερβολικά" εύκολη για τις κλασικές εφαρμογές που κυκλοφορούν για διαχείριση καταστήματος/αποθήκης (πχ Softone)

 

ας την εγραφε σε C++ αμα ήταν μάγκας

δεν πάει ακριβώς έτσι, βασικά δεν έχει και νόημα να γίνουν όλα στη Σ/Σ++, ας αφήσουμε το κλασικό ζητούμενο της αγοράς που είναι γρήγορα project, ποιος ο λόγος να κάνεις μια τέτοια εφαρμογή στη C++ ? για τη δουλειά που κάνει η παραπάνω εφαρμογή δεν θα δεις διαφορά...

 

πάντως τα ΑΤΜ της Πειραιώς έχουν ένα Delay... ( πατάς κουμπί και μετά από 1 sec ενεργεί)

Δημοσ.

είναι "υπερβολικά" εύκολη για τις κλασικές εφαρμογές που κυκλοφορούν για διαχείριση καταστήματος/αποθήκης (πχ Softone)

 

Είναι το ίδιο ακριβως σαν να λες "Αυτό το πιάτο είναι παραλογα νόστιμο για τόσο φτηνή ταβέρνα"

 

Η όποια ευκολία μπορει να βρεί κάποιος σε αυτές τις γλώσσες ειναι πως σε γλυτώνουν από πολλές κακοτοπιές που ακόμα και έμπειροι προγραμματιστες πέφτουν σε αυτές. Αυτό δεν τις καθιστά "εύκολες", πρέπει πάλι να βάλεις το μυαλό σου να δουλέψει για να λύσεις το πρόβλημα.

 

πάντως τα ΑΤΜ της Πειραιώς έχουν ένα Delay... ( πατάς κουμπί και μετά από 1 sec ενεργεί)

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

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

Είναι το ίδιο ακριβως σαν να λες "Αυτό το πιάτο είναι παραλογα νόστιμο για τόσο φτηνή ταβέρνα"

 

Η όποια ευκολία μπορει να βρεί κάποιος σε αυτές τις γλώσσες ειναι πως σε γλυτώνουν από πολλές κακοτοπιές που ακόμα και έμπειροι προγραμματιστες πέφτουν σε αυτές. Αυτό δεν τις καθιστά "εύκολες", πρέπει πάλι να βάλεις το μυαλό σου να δουλέψει για να λύσεις το πρόβλημα.

 

 

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

 

δεν είπα ότι είναι σε ΝΕΤ, βασικά ξέχασα ότι η ταυτοποίηση γίνεται στα κεντρικά τους, νόμιζα ότι η βάση ήταν μέσα στο κατάστημα και έλεγα τι γίνεται τι γίνεται...

 

λέμε μισά πράγματα και δεν καταλαβαινόμαστε (με το δίκαιό σας)

Ουσιαστικά υπάρχει πολύ μπακαλοδουλειά (συμφωνείς?) ε σε αυτό το θέμα είναι εύκολες, στο να στήσεις μια εφαρμογή καλή μελετημένη τότε υπάρχει και εκεί ένα ζόρι αλλά και πάλι ...

Επεξ/σία από Downloadpercent
Δημοσ.

δεν είπα ότι είναι σε ΝΕΤ, βασικά ξέχασα ότι η ταυτοποίηση γίνεται στα κεντρικά τους, νόμιζα ότι η βάση ήταν μέσα στο κατάστημα και έλεγα τι γίνεται τι γίνεται...

σε .NET ειναι, το ξερω από 1ο χέρι, και όταν το δικτυο ειναι οκ παει σφαίρα

 

Ουσιαστικά υπάρχει πολύ μπακαλοδουλειά (συμφωνείς?) ε σε αυτό το θέμα είναι εύκολες, στο να στήσεις μια εφαρμογή καλή μελετημένη τότε υπάρχει και εκεί ένα ζόρι αλλά και πάλι ...

Συμφωνώ, αλλά το παραπάνω δεν έχει να κάνει με .NET, ισχύει για το οτιδήποτε

  • Like 1
Δημοσ.

Πάνω στις κύριες .NET γλώσσες έχω την εξής απορία.

 

- Πότε επιλέγουμε C# και πότε VB;

 

- Υπάρχει λόγος να τις ξέρει κάποιος και τις δύο, ή μπορεί να κάνει τα πάντα με μία από αυτές;

 

Ευχαριστώ,

Δημοσ.

Μπορεις να κανεις ΑΚΡΙΒΩΣ τα ιδια και με τις 2.

 

Η VB.NET προτιμάται από αυτους που προέρχονται απο VB παρελθον οποτε είναι πιο ευκολο γιαυτους να προσαρμοστουν. Οι υπόλοιποι (νομίζω) προτιμούν C#

Δημοσ.

Πάνω στις κύριες .NET γλώσσες έχω την εξής απορία.

 

- Πότε επιλέγουμε C# και πότε VB;

 

- Υπάρχει λόγος να τις ξέρει κάποιος και τις δύο, ή μπορεί να κάνει τα πάντα με μία από αυτές;

 

Ευχαριστώ,

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

Απλα, στη αγορα ζηταν πιο πολυ C# επειδη το συντακτικο ειναι παρομοιο με C, C++, java.

  • Like 1
Δημοσ.

Πάνω στις κύριες .NET γλώσσες έχω την εξής απορία.

 

- Πότε επιλέγουμε C# και πότε VB;

 

- Υπάρχει λόγος να τις ξέρει κάποιος και τις δύο, ή μπορεί να κάνει τα πάντα με μία από αυτές;

 

Ευχαριστώ,

 

Όπως είπαν και οι παραπάνω μπορείς να κάνεις ακριβώς* τα ίδια πράγματα.

 

* Υπάρχουν κάποια πράγματα που στην μεν γίνονται πιο εύκολα από τη δε και τούμπαλιν, αλλά είναι λεπτομέρειες.

 

Τώρα, επιλέγεις αυτή με την οποία αισθάνεσαι μεγαλύτερη οικειότητα.

 

Από κει και πέρα έχουν και διάφορες διαφορές. Για παράδειγμα το Module της VB προσωπικά μου σπάει τα νεύρα σαν δομικό στοιχείο όταν μάλιστα υπάρχει σαν δομικό στοιχείο και η class και η struct ή το ότι το static των άλλων γλωσσών είναι shared στην VB καθώς και η γενικότερη διαφορά κάποιων αρκετά standard και αναγνωρίσιμων keywords.

 

 

Γενικά δες εδώ, εδώ και εδώ.

Δημοσ.

Πάνω στις κύριες .NET γλώσσες έχω την εξής απορία.

- Πότε επιλέγουμε C# και πότε VB;

- Υπάρχει λόγος να τις ξέρει κάποιος και τις δύο, ή μπορεί να κάνει τα πάντα με μία από αυτές;

Ευχαριστώ,

 

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

Αν ξέρεις την μία, μπορείς πάρα πολύ εύκολα να γράψεις στην άλλη.

 

Αλλά αν τώρα ξεκινάς και θές να μάθεις, μάθε WPF (και back γλώσσα όποια θες μεταξύ C# ή VB).

 

 

Επειδή κάνει ζέστη, μερικούς σας καταλαβαίνω και δεν σας παρεξηγώ

 

Όχι δεν κάνει ζέστη εδώ, 16C έχει αυτή τη στιγμή έξω.

 

έχουμε και λέμε, ένα απλό παράδειγμα με μια φόρμα και ένα κουμπί

 

C#

>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace Project1
{
class CButton : Form
{
public CButton()
{ DrawIt("Click", 100, 25, 100,50); }

void DrawIt(String Text, Int32 Width, Int32 Height, Int32 PosX, Int32 PosY)
{
Button MyButton = new Button();
MyButton.Text = Text;
MyButton.Width = Width;
MyButton.Height = Height;
MyButton.Location = new Point(PosX, PosY);

// Add In Form
Controls.Add(MyButton);
}

}
}

 

Θα έπρεπε να γράψεις ότι σε .ΝΕΤ δεν χρειάζεται να γράψεις τίποτα όσον αφορά τον σχεδιασμό του GUI.

Στην συγκεκριμένη περίπτωση, αυτό που έγραψες δεν χρειάζεται καν ούτε για σύγκριση.

 

 

Και γενικώς στην συζήτηση, ακόμα να κατανοήσω γιατί συγκρίνετε μη όμοια πράγματα.

Rule of thumb. Αν κάποιος γράφει κώδικα για να σχεδιάσει το GUI σε .ΝΕΤ, έχει τρομερό πρόβλημα γνώσεων, και λογικής. Εγώ προσωπικά ως εταιρία, δεν θα τον είχα προσλάβει.

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

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

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

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

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

Σύνδεση

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

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