Kurs bazodanowy C++ z MySQL - czy da się przerobić na C# z MS SQL?

0

Witam,

mam tonę książek nt C# i Microsoft SQL Server, kupionych z myślą o stworzeniu aplikacji bazodanowej.
Ponadto w pracy używamy Microsoft SQL Server Management Studio do prostych zapytań, attachowania plików bazodanowych etc. Tak więc mam niewielką, ale chociaż szczątkową znajomość zagadnień związanych z serwerem microsoftowym.

Z drugiej strony mam kurs w postaci filmów DVD, jak krok po kroku stworzyć aplikację bazodanową w C++, w oparciu o bazę MySQL. Jako że z książek nauka przebiega wolniej niż z kursów w postaci filmów, siłą rzeczy moja pierwsza aplikacja będzie musiała oprzeć się o ten kurs.

I tu mam dylemat.
Nie chcę się uczyć kilku języków programowania na raz (C++ ,C#, MS SQL, My SQL), nie mając na razie ugruntowanego żadnego z nich.

Jak myślicie, co w Waszej ocenie osób doświadczonych, jest lepszą strategią:

1) stworzenie aplikacji bazodanowej w C++ i MySQL stricte wg kursu z płyty?

plusy:

  • kolejne etapy są przedstawione krok po kroku, co oznacza mniejsze ryzyko pogubienia się dla laika jak ja,
  • język C++ podobno bardziej liczy się w oczach pracodawców niż C# - nie mam co prawda umiejętności na dzień dzisiejszy, żeby robić nie wiadomo, jaką karierę jako programista, z drugiej strony nasza firma ma zostać wykupiona i nie wiadomo, jak potoczą się dalsze losy. Może więc warto uzbroić się w wiedzę bardziej perspektywicznie przydatną?,
  • spotykam opinie, że nie bez powodu to właśnie w C++ a nie w C# są napisane większe komercyjne aplikacje (Microsoft Office, AutoCad, CorelDRAW). Być może C++ zapewnia lepszą wydajność, a może po prostu nikomu się nie chce przepisywać kodu :). Chociaż w dobie stażystów oraz już przysłowiowych zdolnych, azjatyckich dzieci, aż dziwne, że np. Microsoft nawet z ciekawości nie zrobił Office'a opartego na C#.

minusy:

  • uczenie się wielu języków na raz, zamiast skupienia się na góra dwóch jednocześnie, czyli przysłowiowe łapanie wielu srok za ogon.

2) stworzenie aplikacji bazodanowej w C# i MS SQL, opierając się o lekcje z płyty i w przypadku różnic - szukanie odpowiedników?

plusy:

  • nie rozdrabniam się na wiele języków na raz,
  • zawsze to trochę raźniej będzie mi w SSMS, bo poprzez pracę zawodową mam z tym narzędziem styczność,
  • tona książek z C# nie pójdzie na marne,
  • podobno (??) C# jest łatwiejszy niż C++ (powtarzam zasłyszane opinie, nie wiem, czy to prawda).

minusy:

  • jeśli przy którejś lekcji się zgubię, nie wiadomo ile będzie trwało znalezienie odpowiednika C#-owego dla C++-owego przedstawionego w kursie, a czasami z jedną pierdołą można utknąć na kilka godzin poszukiwań w Googlach. Może wręcz okazać się, że nie będę w stanie przeskoczyć jakiegoś problemu, co nie groziłoby mi przy kursie step by step, ale - no właśnie - w innych językach.

Pozdrawiam i proszę o wypowiedzi, jak się zapatrujecie na te moje dylematy.
Podejrzewam, że dla Was są one śmieszne, ale spróbujcie proszę popatrzeć się na nie okiem kogoś na początku drogi.
Z góry dziękuję, zwłaszcza, jeżeli komuś udało się dobrnąć do końca :).

1

MSSQL i MySQL jak możesz się domyślić opierają się na języku SQL. Istnieją różnice między tymi dwoma językami, jednak jest wiele podobieństw. Ucząc się podstaw w MySQL czy MSSQL będziesz mógł za jakiś czas przejść bez większych problemów na ten drugi nie wybrany przez Ciebie język.

Nie miałam jeszcze styczności z PostgreSQL ale wydaje mi się że ta baza jest odmienna od tych dwóch w/w.

Zawsze warto jest włączyć myślenie zamiast ślepo podążać wytyczoną przez kogoś drogą. Tak więc warto abyś poszedł krytycznie do tego co jest w kursie tym bardziej jeśli kurs ma już swoje lata.

4
Rimmel napisał(a):

1) stworzenie aplikacji bazodanowej w C++ i MySQL stricte wg kursu z płyty?

A czy Twoim celem jest tworzenie takich aplikacji?
MySQL to słaba baza, C++ to nie jest język do tworzenia typowych aplikacji bazodanowych.

  • język C++ podobno bardziej liczy się w oczach pracodawców niż C# - nie mam co prawda umiejętności na dzień dzisiejszy, żeby robić nie wiadomo, jaką karierę jako programista, z drugiej strony nasza firma ma zostać wykupiona i nie wiadomo, jak potoczą się dalsze losy. Może więc warto uzbroić się w wiedzę bardziej perspektywicznie przydatną?,

C# ma zdecydowanie więcej ofert pracy, C++ jest ograniczony do kilku specjalistycznych zastosowań. O ile nie działasz w branży elektroniki, czy pisania silników gier albo baz danych, to C++ jest raczej perspektywicznie zbędny.

  • spotykam opinie, że nie bez powodu to właśnie w C++ a nie w C# są napisane większe komercyjne aplikacje (Microsoft Office, AutoCad, CorelDRAW). Być może C++ zapewnia lepszą wydajność, a może po prostu nikomu się nie chce przepisywać kodu :).

Nie tyle się nie chce, co przepisywanie dobrze działającego softu, w którym naprawiono już ileś błędów się po prostu nie opłaca.

Chociaż w dobie stażystów oraz już przysłowiowych zdolnych, azjatyckich dzieci, aż dziwne, że np. Microsoft nawet z ciekawości nie zrobił Office'a opartego na C#.

Doprawdy?
https://office.live.com/start/Word.aspx

  • podobno (??) C# jest łatwiejszy niż C++ (powtarzam zasłyszane opinie, nie wiem, czy to prawda).

Jak praktycznie każdy powszechnie używany język.
C++ jest po pierwsze stary, więc nie posiada wielu nowoczesnych mechanizmów i zabezpieczeń, po drugie złośliwcy, próbują do niego te nowoczesne mechanizmy dodawać. Efekt wygląda jak jamnik z przybitymi czterema deskami i śmigiełkiem.

  • jeśli przy którejś lekcji się zgubię, nie wiadomo ile będzie trwało znalezienie odpowiednika C#-owego dla C++-owego przedstawionego w kursie, a czasami z jedną pierdołą można utknąć na kilka godzin poszukiwań w Googlach. Może wręcz okazać się, że nie będę w stanie przeskoczyć jakiegoś problemu, co nie groziłoby mi przy kursie step by step, ale - no właśnie - w innych językach.

Przede wszystkim istotny jest nie tyle język, co technologie: do GUI, do połączenia z bazą danych, do innych pomocniczych rzeczy. I to one mogą nie mieć swoich odpowiedników w świecie drugiego języka.

Generalnie napisanie takiej aplikacji w C# i powiązanych technologiach będzie jakieś 10 razy szybsze i łatwiejsze, ale wybór należy do Ciebie.

0

somekind,
ogromne dzięki za szczegółowe i jakże obrazowe odpowiedzi! (ten biedny jamnik... ;) )
No to teraz mam nielichy dylemat.

Po przeczytaniu (dwukrotnym) Twoich porad moje wnioski:

  • pasowałoby postawić na C#**, skoro:

    • C++ to nie jest język do tworzenia typowych aplikacji bazodanowych, jak piszesz,
    • bo C# jest ciągle rozwijany,
    • nie stoi w miejscu jak C++,
    • z C# w razie zwolnień większa szansa na znalezienie nowej pracy

    oraz

  • pasowałoby postawić na MS SQL**, skoro:

    • MySQL to słaba baza, jak piszesz,
    • z kolei MS SQL używamy w pracy i jest mi lepiej znany.

To, czego najbardziej się obawiam, to właśnie braku odpowiedników tych technologii, o których piszesz, np. do łączenia GUI z bazą.
Kilka lekcji z w/w kursu za mną, tak dla wyrobienia sobie zdania i teoretycznie mogę "jechać" z filmem, robiąc aplikację w C# i w MS SQL, ale jest to podwójne wyzwanie.
Zamiast cieszyć oczy, że coś wyszło od razu, to trzeba będzie z duszą na ramieniu (wyjdzie? nie wyjdzie?) robić przekład ze starogreckiego na polski, przy użyciu słownika do j.rosyjskiego.
Tak to postrzegam. Zarazem jednak kropka w kropkę aplikacji przecież nie zrobię i jak przyjdzie do implementacji własnych rozwiązań, to pewnie i tak utknę, szukając czegoś na temat C++ w kontekście baz danych, a z tego, co piszesz, to szybciej się wygoogluje rozwiązania dla C#.

W podziękowaniu za poświęcony czas i w nawiązaniu do przytoczonego jamnika polecam filmik:

Pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0