Strona 1 z 3

Perl czy C++

: 08 stycznia 2010, 11:30
autor: sojkin
Chciałbym zgłębić mroczną wiedzę z dziedziny programowania. Jakiś czas temu poznałem Delphi (pod windowsem) można powiedzieć ze podstawy ale mam już jakieś ogólne pojęcie o co w tym chodzi. Jako że nie pracuje już na Windowsie lecz staram się poznawać dogłębnie linuxa (mam debiana i ubuntu) chciałbym się nauczyć programować w jednym z języków wymienionych w temacie. Który z nich polecilibyście mi jako przystępniejszy dla żółtodzioba i wygodniejszy do pracy w tym systemie? Przejrzałem już parę kursów w internecie dość pobieżnie by móc ocenić różnice pomiędzy nimi i za bardzo nie wiem jakie wnioski wyciągnąć oraz ku któremu z nich się skierować. Może macie jakieś swoje kursy lub książki, które polecilibyście mi by móc zrobić jakiś pierwszy krok w poznaniu tych nowych terenów wiedzy ;)

: 08 stycznia 2010, 15:17
autor: tomek.
Ja polecam C/C++. Znam oba, ale wole C/c++. Dlaczego? Nie wiem. Co do książek - na początek Symfonia c++ pana Grębosza, później Thinking in c++ - nie pamiętam autora. Po tych dwóch pozycjach czytaj wszystkie kody źródłowe jakie Ci wpadną w rękę, czytaj też inną literaturę - coś o algorytmach itp.

: 08 stycznia 2010, 17:26
autor: sojkin
Które wydanie polecasz Symfonii polecasz? Jak zauważyłem dostępne są wersje trzy, dwu i chyba jedno tomowa.

: 08 stycznia 2010, 18:15
autor: jasiekmarc
To może i ja pozwolę sobie wyrazić opinię dotyczącą języków. Jest takie powiedzenie: „Potrzeba matką wynalazków”. Można je zastosować również w odniesieniu do programowania. Gdy chcesz pisać programy użytkowe albo rozwiązywać zadania z algorytmiki, niewątpliwie C/C++ jest wygodniejszy. Perl służy głównie do operowania tekstem, regexami i takimi rzeczami.

Chyba najlepiej poznać składnię C, poużywać trochę C++. Zacząć programować obiektowo, potem może trochę Javy. I jak już dobrze zrozumiesz, jak działają imperatywne języki programowania, to nawet Perl Ci będzie niestraszny.

: 08 stycznia 2010, 21:06
autor: sojkin
Dobra, wybrałem C++ zapoznam się z nim dokładniej i później zabiorę się za coś co będzie mi wtedy odpowiadało. Zdobyłem wspomniana wcześniej Symfonie C++ ale mam niestety problem juz na samym początku. Założyłem ze będę pisał w gVim + cvim i w Geany Pierwszy kod poruszony w książce to

Kod: Zaznacz cały

#include <iostream.h>
main()
{
   cout << "Witamy na pokladzie";
}
niestety po kompilacji w obu przypadkach otrzymuje błąd:

Kod: Zaznacz cały

witamy.cpp:2:22: error: iostream.h: No such file or directory
witamy.cpp: In function 'int main()':
witamy.cpp: 6: error: 'cout' was not declared in this scope
co robię źle?

: 08 stycznia 2010, 21:20
autor: jasiekmarc
Nie znam zestawu gvim + cvim, ale polecam proste rozwiązania. Musisz mieć zainstalowany kompilator g++. W edytorze (vim, gvim, kate, whatever) tworzysz plik cpp, a potem w konsoli włazisz do jego folderu i piszesz

Kod: Zaznacz cały

make nazwa_pliku_bez_rozszerzenia
Make już sam dobierze niezłe parametry kompilatora (-o nazwa_pliku_bez_rozszerzenia) i skompiluje odgadnąwszy po rozszerzeniu, który kompilator ma dobrać.

: 08 stycznia 2010, 21:28
autor: sojkin
dokładnie ten sam błąd mi wyskoczył przy make a g++ mam już zainstalowane

W czym Ty programujesz?

: 08 stycznia 2010, 21:34
autor: jasiekmarc
Mhh. Mam dziwne wrażenie, że kompilując w gcc powinno się pisać

Kod: Zaznacz cały

#include<iostream>
a nie

Kod: Zaznacz cały

#include<iostream.h>
To drugie to jakieś takie borlandowe rozwiązanie.

Pytanie, w czym ja programuję dotyczy języka, czy edytora?

EDIT: Ach i jeśli używasz funkcji z biblioteki iostream, to musisz przed int main napisać

Kod: Zaznacz cały

using namespace std;

: 08 stycznia 2010, 21:39
autor: sojkin
ja przepisałem kod na żywo z książki bez żadnych przeróbek :/ moje pytanie tyczyło się edytora.

chyba poszukam jakiegoś innego wydania tej książki bo wydaje mi się ze może te jest jakieś stare bo co tu dużo mówić nie jest to książka z księgarni...

: 08 stycznia 2010, 21:51
autor: jasiekmarc
Moim zdaniem to nie jest najlepsza książka do uczenia się podstaw C++. Prawdę powiedziawszy nie wiem, czy jest jakaś dobra. Widziałem kiedyś taką fajną, małą, żółtą z Helionu ale nie pomnę autora i tytułu. Jak znajdę coś ciekawego w sieci, to dam znać. Najlepiej chyba, jeśli już wiesz, co to pętla, czym jest warunek itp. zobaczyć jak się pisze te rzeczy w C i próbować stawiać sobie samemu zadania (albo wyszukiwać już istniejące, na przykład na SPOJ-u ), a następnie robić kolejne kroki ku doskonałości rozwiązując je. Zawsze możesz dorwać jakiegoś znajomego i zarzucać go pytaniami (nie za wieloma jednak - trzymaj się zasady 'use google, luke'). A ewentualnie możesz pisać do takich ludzi, jak ja. Zawsze chętnie pomagam adeptom programowania na ile potrafię.

Używam głównie VIM-a i Kate'a. Vim jest świetny do programów opartych na pojedynczych plikach. Doskonale wcina, a jak coś się rozsypie, to zawsze można:

Kod: Zaznacz cały

ESC gg=G
i vim naprawi.

Do projektów opartych na wielu plikach lepszy jest Kate, a czasem także używam QT-Creatora, który zna nazwy obiektów z bibliotek QT (do budowania okien między innymi).