Programowanie w systemie UNIX: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
m →Metody/technologie/specjalistyczne programy: nowa strona |
m →Metody/technologie/specjalistyczne programy: nowy link |
||
Linia 84: | Linia 84: | ||
#### [[Programowanie w systemie UNIX/pari|PARI/GP]] |
#### [[Programowanie w systemie UNIX/pari|PARI/GP]] |
||
### [[Programowanie_w_systemie_UNIX/C#numeryczne|biblioteki]] |
### [[Programowanie_w_systemie_UNIX/C#numeryczne|biblioteki]] |
||
### |
### konwersja danych numerycznych do symbolicznych : |
||
#### [http://wayback.cecm.sfu.ca/projects/ISC/ISCmain.html The Inverse Symbolic Calculator (ISC)]: |
|||
## Statystyczne |
## Statystyczne |
||
### [[R (język programowania)|R, czyli języku programowania i środowisku do obliczeń statystycznych i wizualizacji wyników]] |
### [[R (język programowania)|R, czyli języku programowania i środowisku do obliczeń statystycznych i wizualizacji wyników]] |
Wersja z 09:43, 10 maj 2020
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)
- obrazy
- 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 (wektorowe (macierzowe), równoległe)
- Programy
- biblioteki
- konwersja danych numerycznych do symbolicznych :
- Statystyczne
- Obliczenia współbiezne, równoległe i rozproszone
- obliczenia symboliczne (CAS) i numeryczne (wektorowe (macierzowe), równoległe)
- 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 " "printf is the world’s simplest debugger" John L. Miller in Quora
- gdb
- VAlgrind, memleax
- kcachegrind[2]
- grafy
- Dependency graph
- call graph
- Statyczna analiza kodu[3]
- testowanie
- optymalizacja (profilowanie) : Najpierw profiluj, potem optymalizuj !
- instalacja i odinstalowanie ( usuwanie) programów
- Praca grupowa