Programowanie w systemie UNIX: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
m →Metody/technologie/ specjalistyczne programy: nowa strona |
m →Języki programowania i narzędzia: PostScript |
||
Linia 47: | Linia 47: | ||
# [[Programowanie w systemie UNIX/Perl|Perl]] |
# [[Programowanie w systemie UNIX/Perl|Perl]] |
||
# [[PHP]] |
# [[PHP]] |
||
# [[Programowanie w systemie UNIX/PostScript|PostScript]] |
|||
# Prolog |
# Prolog |
||
# [[Programowanie w systemie UNIX/Python|Python]] |
# [[Programowanie w systemie UNIX/Python|Python]] |
Wersja z 18:09, 6 wrz 2017
Ten podręcznik opisuje podstawy programowania w Linuksie
Wprowadzenie
Języki programowania i narzędzia
- BASH
- C : CPU, GPU, obliczenia numeryczne, grafika, ...
- C++
- D
- Erlang
- Fortran
- Go
- Haskell
- Icon
- Java
- JavaScript
- Julia
- Lisp - Common Lisp, Scheme, Clojure, Elisp, ...
- Lua
- OCaml
- Pascal
- Perl
- PHP
- PostScript
- Prolog
- Python
- Ruby
- Rust
- swift
Metody/technologie/ specjalistyczne programy
- Dane
- typy
- wg możliwości odczytu:
- Dane do odczytu maszynowego
- Dane do odczytu przez człowieka
- wg zawartości
- tekstowe
- numeryczne (liczbowe)
- obrazowe
- wg ilości i złożoności danych
- małe zbiory
- średnie zbiory
- Big data
- wg możliwości odczytu:
- Bazy danych
- typy
- Pliki
- tekstowe
- binarne
- Obliczenia
- obliczenia symboliczne (CAS) i numeryczne
- Programy
- biblioteki
- Statystyczne
- Obliczenia równoległe
- obliczenia symboliczne (CAS) i numeryczne
- www
- Grafika - komputerowe przetwarzanie obrazów
- tekst: obsługa biura / przetwarzanie tekstów / publikacje
- Pliki tekstowe, kodowanie i formatowanie
- WYSIWYG (ang. What You See Is What You Get – widzisz to, co dostajesz)
- LibreOffice, OpenOffice.org
- Emacs
- Vim
- Gedit
- języki znaczników
- Przetwarzanie tekstu w językach ogólnego przeznaczenia
Budowanie programu
- planowanie: sformułowanie problemu i opis algorytmu w języku naturalnym
- Dokumentacja kodu
- Formatowanie kodu (ang. indent)
- Kontrola wersji
- ręcznie lub łaty i diff
- scentralizowane
- rozproszone (zdecentralizowane)
- Git
- Mercurial
- Kompilacja, linkowanie, instalacja = budowanie. Jak zbudować program ze źródeł ?
- Ręczne (ang. "hand compilation", aka "manual build")
- Automatyczne: Narzędzia wspomagające budowę aplikacji
- Make = build system
- Apache Ant
- SCons
- Rake - Ruby Make
- Flex_i_Bison
- Pants, Apache Maven, gradle, sbt
- linkowanie (konsolidacja):
- ręcznie wpisana ścieżka [1]
- pkg-config
- zależności (ang. dependencies)
- Odpluskwiane (ang. debugging), testy bezpieczeństwa
- z użyciem printf
- gdb
- VAlgrind, memleax
- kcachegrind[2]
- grafy
- Dependency graph
- call graph
- Statyczna analiza kodu[3]
- testowanie
- optymalizacja (profilowanie)
- instalacja i odinstalowanie ( usuwanie) programów
- Praca grupowa