Wielkość: px
Rozpocząć pokaz od strony:

Download ""

Transkrypt

1 Historia i przyszłość C++ Łukasz Ziobroń

2 Agenda Gdzie jest używany C++? Dlaczego C++ jest znów na topie? Początki C++ Standaryzacja C++ Timeline Wersje C++ Historia C++ Status Przyszłość C++ Zgodność kompilatorów ze standardem Podsumowanie Ranking języków programowania 2/56

3 Gdzie jest używany C++? Systemy operacyjne: Windows, Apple's OS, Linux Google, Amazon, Bloomberg, Facebook IE, Firefox, Safari, Chrome Skanery tomograficzne, systemy kontroli lotów, rakiety, silniki statków, automobile, NASA łaziki marsjańskie, CERN Smartfony, telewizory, sprzęt AGD 3/56

4 Dlaczego C++ jest znów na topie? Więcej obliczeń/wat Technologie mobilne oszczędność baterii Cloud computing High performance computing & GPU Lepsza abstrakcja niż w C Bezpieczeństwo (smart_ptr, wyjątki, type safety) Brak narzutu VM 4/56

5 Początki C++ 5/56

6 Początki C++ Domain-specific abstraction General-purpose abstraction Fortran Fortran Cobol Cobol Simula Simula Java Java C++ C++ C++11 C++11 Direct mapping to hardware Assembler Assembler BCPL BCPL CC C# C# Źródło: Essence of C++, Bjarne Stroustrup 6/56

7 Standaryzacja C++ ISO International Standards Organization IEC International Electrotechnical Commission JTC 1 Joint Technology Committee 1: Information Technology SC22 Sub Committee 22: Programming Languages WG21 Working Group 21: C++ 7/56

8 Standaryzacja C++ WG21: C++ Spotkania 2-3 razy / rok przez 6 dni Głównie wolontariat, częściowo sponsorowany Główni członkowie: Apple, IBM, Intel, Google, Microsoft, Qualcomm, Red Hat, niektóre uniwersytety Każdy może uczestniczyć i zgłaszać propozycje Tylko członkowie głosują i akceptują propozycje 8/56

9 Timeline 1979 C with Classes 1984 Zmiana nazwy na C The C++ Programming Language, Pierwsza komercyjna wersja C The Annotated C++ Reference Manual ( the ARM ) 1991 The C++ Programming Language, 2nd edition 1997 The C++ Programming Language, 3rd edition. Powstanie ISO C Standard ISO C Powstanie Boosta jako kandydata na bibliotekę standardową 2002 Początek prac nad nową wersją standardu: C++0x 2003 Standard ISO C++03 bug fix 2006 ISO C++ Technical Report on Performance 2009 C++0x feature completed 2011 Standard ISO C++11 formalnie zatwierdzony 2012 Pierwsze implementacje C++11. Początek prac nad kolejnymi standardami 2013 The C++ Programming Language, 4th edition (C++11) 9/56

10 Wersje C++ Wersja Data publikacji standardu Pierwsza kompletna implementacja C++84 ( the ARM ) - C++98 wrzesień (EDG + Dinkumware) C++03 październik 2003 C++11 (C++0x) wrzesień 2011 Kwiecień 2013 (Clang 3.3) C++14 (C++1y) marzec 2014 (draft), wrzesień 2014 Listopad 2013 (Clang 3.3+) C /56

11 Wersje C++ 11/56

12 Historia C++ Czasy zamierzchłe ( ) Starożytność ( ) Średniowiecze ( ) wożytność ( ) 12/56

13 1979: C with Classes New features: classes, member functions, derived classes separate compilation public and private access control friends type checking of function arguments default arguments inline functions overloaded assignment operator constructors, destructors f() same as f(void) Libraries: the concurrent task library (not in C++) 13/56

14 1985: Cfront 1.0 New features: virtual functions function and operator overloading references new and delete operators the keyword const scope resolution operator Library additions: complex string iostream 14/56

15 1989: Cfront 2.0 New features: multiple inheritance pointers to members protected access type-safe linkage abstract classes static and const member functions class-specific new and delete Library additions: I/O manipulators 15/56

16 1990: The Annotated C++ Reference Manual New features: namespaces exception handling nested classes 1991: Implemented in Cfront : Cfront R.I.P. 16/56

17 1998: C++98 New features: Library additions: RTTI (dynamic_cast, typeid) containers covariant return types algorithms cast operators iterators function objects (based on STL), locale bitset valarray auto_ptr templatized string iostream complex. mutable bool declarations in conditions template instantiations, member templates export 17/56

18 2003: C++03 bug fix New features: value initialization Defect Reports fixed: 125 defects, including defect 69, which made std::vector contiguous. 18/56

19 2007: TR1 (Technical Report 1) From Boost: Reference wrapper Smart pointers Result Of Bind Type Traits Random Mathematical Special Functions Tuple Array Unordered Containers (including Hash) Regular Expressions From C99: mathematical functions from math.h that were new in C99 blank character class floating-point environment hexfloat I/O Manipulator fixed-size integral types the long long type va_copy the snprintf() and vscanf() families of functions the C99 conversion specifies for printf() and scanf() families of functions. 19/56

20 2011: C++11 C++ feels like a new language - Bjarne Stroustrup Pełne wsparcie w GCC 4.9 i Clang /56

21 2011: C++11 C++ feels like a new language - Bjarne Stroustrup Pełne wsparcie w GCC 4.9 i Clang 3.3 C++0x == C++11 (0x = 0B) 21/56

22 language library C++11 C TR1 C++11 C++98 C++98 Źródło: One C++, Herb Sutter 22/56

23 proxies for size comparisons: spec #words library #types (non- plumbing ) language library Java 7 (2011) C# 3.0 (2008) C++11 C++11 Źródło: One C++, Herb Sutter 23/56

24 2008.NET FX + VS Pro Libs language library Java SE NET FX (only) Java 7 (2011) C# 3.0 (2008) C++11 C++11 Źródło: One C++, Herb Sutter 24/56

25 PCL: Portable C++ Library zbiór użytecznych bibliotek dostępny na większość platform dostarczany i wspierany przez implementację C++ 25/56

26 2011: C++11 New language features: New language features: auto and decltype variadic templates defaulted and deleted functions generalized unions final and override generalized PODs trailing return type Unicode string literals rvalue references user-defined literals, attributes move constructors/move assignment lambda expressions scoped enums constexpr and literal types noexcept list initialization alignof and alignas delegating and inherited constructors multithreaded memory model thread-local storage brace-or-equal initializers GC interface nullptr range for (based on a Boost library) long long, char16_t and char32_t type aliases static assertions (based on a Boost library) 26/56

27 2011: C++11 New library features: From Boost: atomic operations library the thread library emplace() and other use of rvalue references throughout all parts of the existing library exception_ptr error_code and error_condition iterator improvements (std::begin, std::end, std::next, std::prev) std::initializer_list stateful and scoped allocators forward_list chrono library ratio library new algorithms Unicode conversion facets From TR1: all of TR1 except Special Functions From C: C-style Unicode conversion functions Defect Reports fixed: 363 defects resolved by the 2008 draft and 322 defects resolved after 27/56

28 Status Skąd zdobyć standard? Kupić (30 USD) Ściągnąć working draft ( ) 28/56

29 Wersje C++ 29/56

30 2014: C++14 Luty 2014 DIS (Draft International Standard) Planowana publikacja pod koniec lata 2014 Warunek: wszystkie instytucje standaryzacyjne państw członkowskich zaakceptują standard 30/56

31 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation New library features: std::make_unique std::shared_mutex and std::shared_lock std::index_sequence std::exchange std::quoted many small improvements to existing library facilities, such as: two-range overloads for some algorithms type alias versions of type traits user-defined string, duration, and complex number literals, etc. Defect Reports fixed: 149 library issues 31/56

32 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation auto lambda = [](auto x, auto y) {return x + y;}; 32/56

33 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation auto lambda = [value = 1] {return value;}; auto ptr = std::make_unique<int>(10); auto lambda = [ptr = std::move(ptr)] {return *ptr;}; 33/56

34 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation auto DeduceReturnType(); auto Correct(int i) { if (i == 1) return i; else return Correct(i-1)+i; } auto Wrong(int i) { if(i!= 1) return Wrong(i-1)+i; else return i; } // deduced as int // ok to call it now // Error - no prior return // deduced as int 34/56

35 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation int i; int&& f(); auto x3a = i; decltype(i) x3d = i; auto x4a = (i); decltype((i)) x4d = (i); auto x5a = f(); decltype(f()) x5d = f(); // // // // // // decltype(x3a) decltype(x3d) decltype(x4a) decltype(x4d) decltype(x5a) decltype(x5d) is is is is is is int int int int& int int&& 35/56

36 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation C++14 will relax these restrictions. Constexpr-declared functions may now contain the following: Any declarations except: static or thread_local variables. Variable declarations without initializers. The conditional branching statements if and switch. goto is not allowed. All looping statements, including range-based for. Expressions may change the value of an object if the lifetime of that object began within the constant expression function. This includes calls to any non-const constexpr-declared non-static member functions. 36/56

37 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation In prior versions of C++, only functions, classes or using-declarations could be templated. C++14 now allows the creation of variables that are templated. Example: PI - 3 when read as an integral type; the closest value possible with float, double or long double precision when read as float, double or long double, respectively 37/56

38 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation C++11 added member initializers, expressions to be applied to members at class scope if a constructor did not initialize the member itself. The definition of aggregates was changed to explicitly exclude any class with member initializers; therefore, they are not allowed to use aggregate initialization. C++14 will relax this restriction, allowing aggregate initialization on such types. If the braced init list does not provide a value for that argument, the member initializer will take care of it. You can now use initialization braces on aggregate members such as arrays. 38/56

39 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation char x = 0b ; char y = 0B ; // x = 38 // y = /56

40 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation long x = 1'000'000'000; 40/56

41 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation gcc, clang: attribute ((deprecated)) int a; C++14: [[deprecated]] void foo(int); [[deprecated("replaced by bar")]] void foo(int); 41/56

42 2014: C++14 New language features: generic lambdas lambda captures expressions function return type deduction alternate type deduction on declaration relaxed restrictions on constexpr functions variable templates aggregate initialization for classes with brace-or-equal initializers. binary literals digit separators [[deprecated]] attribute C++ sized deallocation C++11 introduced the option to define a static member function operator delete that has size as a parameter, indicating the size of the object to be deleted. C++11 did not introduce a global operator delete with size indication, which is now fixed in C /56

43 Zgodność kompilatorów ze standardem GCC pełne wsparcie C++11: kwiecień 2014 (GCC 4.9.0) pełne wsparcie C++14:? LLVM (Clang) pełne wsparcie C++11: kwiecień 2013 (Clang 3.3) pełne wsparcie C++14: styczeń 2014 (libc++) MS Visual C++ Compiler vember 2013 CTP pełne wsparcie C++11:? pełne wsparcie C++14:? 43/56

44 Clang 3.4 GCC 4.9 VS v 2013 CTP Intel 14.0 Return type deduction for regular functions Binary literals Generic lambdas Partial Tweaked wording for contextual conversions Runtime sized arrays with automatic storage duration Initialized lambda captures [[deprecated]] attribute Single quotation mark as digit separator C++ sized deallocation Variable templates Relaxed requirements on constexpr functions Member initializers and aggregates Avoiding/fusing memory allocations N/A C++14 language feature 44/56

45 libc++ libstdc++ VS v 2013 CTP make_unique Improved operator functors Additional template aliases for transformation type traits Fixing constexpr member functions without const exchange() utility function Retrieving tuple elements by type std::result_of and SFINAE Improvements to integral_constant User-defined literals for standard library types More robust non-modifying sequence operations Quoted string I/O manipulator constexpr library additions: chrono constexpr library additions: containers constexpr library additions: utilities constexpr library additions: complex constexpr library additions: functional C++14 library features 45/56

46 C++14 library features libc++ libstdc++ VS v 2013 CTP Compile-time integer sequences Shared locking Heterogeneous comparison lookup in associative containers Null forward iterators Sized deallocation Consistent metafunction aliases Discouraging rand() in C /56

47 Obecne prace ISO 8 TS (Technical Specification) Publikacje w 2014 i 2015 Dostarczanie niezależnie od kolejnych wydań standardu ISO C++ w std::experimental Użytkownicy będą mogli wypróbować nowe rzeczy przed ich oficjalnym wydaniem ISO będzie mogło zebrać opinie i poprawić TS zanim będzie oficjalną częścią standardu Można podsyłać własne propozycje usprawnień 47/56

48 Obecne prace ISO Programming Language C++ IS: Richard Smith. This is the main C++ Standard project. Draft: 2017 File System TS: Beman Dawes. Work based on Boost.Filesystem v3, including file and directory iteration. Draft: June 2014 Library Fundamentals TS: Jeffrey Yasskin. A set of standard library extensions for vocabulary types like optional<> and other fundamental utilities. Draft: v 2014 Networking TS: Kyle Kloepper. A small set of network-related libraries including support for network byte order transformation and URIs. Draft: Oct 2015 Concepts TS: Andrew Sutton. Extensions for template type checking. Draft: May /56

49 Obecne prace ISO Arrays TS: Lawrence Crowl. Language and library extensions related to arrays, including runtime-sized arrays (aka arrays of runtime bound) and dynarray<>. Draft:? Parallelism TS: Jared Hoberock. Initially includes a Parallel STL library with support for parallel algorithms to exploit multiple cores, and vectorizable algorithms to exploit CPU and other vector units. Draft: May 2015 Concurrency TS: Artur Laksberg. Initially includes library support for executors and non-blocking extensions to std::future. Additionally may include language extensions like await, and additional libraries such as concurrent hash containers and latches. Draft: Oct 2015 Transactional Memory TS: Michael Wong. A promising way to deal with mutable shared memory, that is expected to be more usable and scalable than current techniques based on atomics and mutexes. Draft: May /56

50 Podsumowanie Zalety C++: Kompatybilność Wydajność Przenośność Obszar zastosowań Programowanie wysoko i niskopoziomowe Platformy z ograniczonymi zasobami Wady C++: Kompilatory są bardzo skomplikowane Czasochłonny C+ 50/56

51 Ranking języków programowania Źródło: 51/56

52 Wykres na podstawie zapytań w wyszukiwarkach internetowych Źródło: 52/56

53 Źródło: Kwiecień /56

54 Źródło: Kwiecień /56

55 Źródło: Czerwiec /56

56 Źródła Peter Sommerlad, TFZ-C++14 Standard Bjarne Stroustrup, The C++ Programming Language, fourth edition Bjarne Stroustrup, The Design and Evolution of C++ Bjarne Stroustrup, The Essence of C++, Going Native 2013 Herb Sutter, One C++, Going Native /56

Projekt: Mikro zaprogramowane na sukces!

Projekt: Mikro zaprogramowane na sukces! Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Projekt: Mikro zaprogramowane na sukces! Opis autoryzowanych szkoleń Oracle planowanych do realizacji w ramach

Bardziej szczegółowo

C++ język nie dla ludzi o słabych nerwach. Małgorzata Bieńkowska

C++ język nie dla ludzi o słabych nerwach. Małgorzata Bieńkowska C++ język nie dla ludzi o słabych nerwach Małgorzata Bieńkowska malgorzata.bienkowska@gmail.com 9LivesData HYDRAStor Dla NEC Japan od ponad 10 lat 1,5 miliona linii kodu większość rozwijana w Warszawie

Bardziej szczegółowo

Programowanie. Sylwester Arabas. prowadzący ćwiczenia: Magdalena Kuich, Krzysztof Piasecki, Łukasz Dulny. Wydział Fizyki Uniwersytetu Warszawskiego

Programowanie. Sylwester Arabas. prowadzący ćwiczenia: Magdalena Kuich, Krzysztof Piasecki, Łukasz Dulny. Wydział Fizyki Uniwersytetu Warszawskiego Programowanie Sylwester Arabas prowadzący ćwiczenia: Magdalena Kuich, Krzysztof Piasecki, Łukasz Dulny Wydział Fizyki Uniwersytetu Warszawskiego wykład VII 8. kwietnia 2015 r. na ostatnim wykładzie...

Bardziej szczegółowo

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3 Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat

Bardziej szczegółowo

Materiały. Języki programowania II (Java+AVR-GCC) Literatura

Materiały. Języki programowania II (Java+AVR-GCC) Literatura Języki programowania II (Java+AVR-GCC) http://abm.p.lodz.pl dr inż. Michał Ludwicki Literatura Materiały Mikrokontrolery AVR Język C Podstawy programowania Mirosław Kardaś, Atnel, Szczecin, 2011. Specyfikacja

Bardziej szczegółowo

Programowanie. Sylwester Arabas. prowadzący ćwiczenia: Magdalena Kuich, Krzysztof Piasecki, Łukasz Dulny. Wydział Fizyki Uniwersytetu Warszawskiego

Programowanie. Sylwester Arabas. prowadzący ćwiczenia: Magdalena Kuich, Krzysztof Piasecki, Łukasz Dulny. Wydział Fizyki Uniwersytetu Warszawskiego Programowanie Sylwester Arabas prowadzący ćwiczenia: Magdalena Kuich, Krzysztof Piasecki, Łukasz Dulny Wydział Fizyki Uniwersytetu Warszawskiego wykład XIV 10. czerwca 2015 r. rozwiązanie zadań z testu:

Bardziej szczegółowo

Składnia C++ Programowanie Obiektowe, część 3 Mateusz Cicheński

Składnia C++ Programowanie Obiektowe, część 3 Mateusz Cicheński Składnia C++ Programowanie Obiektowe, część 3 Mateusz Cicheński Rzutowanie Implicit/explicit cast Reinterpret cast Static cast Z wykorzystaniem Run-time Type Information Obsługa wyjątków Czym jest wyjątek

Bardziej szczegółowo

Zmiany techniczne wprowadzone w wersji Comarch ERP Altum

Zmiany techniczne wprowadzone w wersji Comarch ERP Altum Zmiany techniczne wprowadzone w wersji 2018.2 Copyright 2016 COMARCH SA Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System

Bardziej szczegółowo

Jzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )

Jzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2 ( $%%) )'20 )*0) 1 / ) Jzyk C++ cz 3 Jarosław Gramacki Instytut Informatyki i Elektroniki # $$%%& ' ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )!" 2 # $$%%& ' ( $%%/,))3 ( %* 2 / 4 ( ( *' *''*,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

Programowanie obiektowe w języku

Programowanie obiektowe w języku Programowanie obiektowe w języku C++ Stanisław Gepner sgepner@meil.pw.edu.pl Regulamin przedmiotu i zasady zaliczenia 1. Przedmiot składa się z: a. 7 wykładów i 7 obowiązkowych ćwiczeń, b. kolokwium zaliczeniowego,

Bardziej szczegółowo

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 8: Structured PredicCon 2

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 8: Structured PredicCon 2 TTIC 31210: Advanced Natural Language Processing Kevin Gimpel Spring 2019 Lecture 8: Structured PredicCon 2 1 Roadmap intro (1 lecture) deep learning for NLP (5 lectures) structured predic+on (4 lectures)

Bardziej szczegółowo

deep learning for NLP (5 lectures)

deep learning for NLP (5 lectures) TTIC 31210: Advanced Natural Language Processing Kevin Gimpel Spring 2019 Lecture 6: Finish Transformers; Sequence- to- Sequence Modeling and AJenKon 1 Roadmap intro (1 lecture) deep learning for NLP (5

Bardziej szczegółowo

Zarządzanie sieciami telekomunikacyjnymi

Zarządzanie sieciami telekomunikacyjnymi SNMP Protocol The Simple Network Management Protocol (SNMP) is an application layer protocol that facilitates the exchange of management information between network devices. It is part of the Transmission

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Sexy unit testy. czyli o kilku praktykach w testach jednostkowych

Sexy unit testy. czyli o kilku praktykach w testach jednostkowych Sexy unit testy czyli o kilku praktykach w testach jednostkowych Agenda sekund o samym sobie KILKA zdań o prezentacji kilka przemyśleń pomysłów na ułatwienie sobie życia pytań od publiczności O mnie Absolwent

Bardziej szczegółowo

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0  Zofia Kruczkiewicz Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 http://www.junit.org/ Zofia Kruczkiewicz 1. Aby utworzyć test dla jednej klasy, należy kliknąć prawym przyciskiem myszy w oknie Projects na wybraną

Bardziej szczegółowo

Informatyka. Wy-03 Dynamiczna alokacja pamięci, wyjątki. mgr inż. Krzysztof Kołodziejczyk

Informatyka. Wy-03 Dynamiczna alokacja pamięci, wyjątki. mgr inż. Krzysztof Kołodziejczyk Informatyka Wy-03 Dynamiczna alokacja pamięci, wyjątki mgr inż. Krzysztof Kołodziejczyk krzysztof.m.kolodziejczyk@pwr.edu.pl 13.03.2019 Strona kursu http://w12.pwr.wroc.pl/inf/ Konsultacje Piątek 13:00

Bardziej szczegółowo

Wstęp. Przetwarzanie współbieżne, równoległe i rozproszone

Wstęp. Przetwarzanie współbieżne, równoległe i rozproszone Wstęp. 1 Cel zajęć Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów równoległych Przedstawienie sprzętu wykorzystywanego do obliczeń równoległych Nauczenie sposobów

Bardziej szczegółowo

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 1

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 1 dlaczego? (1) dlaczego? (2) Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego

Bardziej szczegółowo

Network Services for Spatial Data in European Geo-Portals and their Compliance with ISO and OGC Standards

Network Services for Spatial Data in European Geo-Portals and their Compliance with ISO and OGC Standards INSPIRE Conference 2010 INSPIRE as a Framework for Cooperation Network Services for Spatial Data in European Geo-Portals and their Compliance with ISO and OGC Standards Elżbieta Bielecka Agnieszka Zwirowicz

Bardziej szczegółowo

Warsztaty: Angular, ngrx, RxJS, TypeScript

Warsztaty: Angular, ngrx, RxJS, TypeScript Program szkolenia: Warsztaty: Angular, ngrx, RxJS, TypeScript Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Warsztaty: Angular, ngrx, RxJS, TypeScript ang-workshop Angular developerzy

Bardziej szczegółowo

Programowanie RAD Delphi

Programowanie RAD Delphi Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje

Bardziej szczegółowo

Signals + Threads: Qt vs. Boost

Signals + Threads: Qt vs. Boost Signals + Threads: Qt vs. Boost Adam Bujalski 2014-04-01 Adam Bujalski Signals + Threads: Qt vs. Boost 2014-04-01 1 / 22 Spis Treści 1 2 Wątki 3 Qt::QueuedConnection w boost Adam Bujalski Signals + Threads:

Bardziej szczegółowo

Robert Kawulak C++09. Co nowego w nadchodzącym standardzie języka?

Robert Kawulak C++09. Co nowego w nadchodzącym standardzie języka? Robert Kawulak C++09 Co nowego w nadchodzącym standardzie języka? Wprowadzenie Zawsze marzyłem żeby mój komputer był tak samo łatwy w obsłudze jak mój telefon. Moje marzenie się spełniło. Już nie umiem

Bardziej szczegółowo

Tworzenie aplikacji w języku Java

Tworzenie aplikacji w języku Java Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009

Bardziej szczegółowo

1. CZYM JEST SERIALIZACJA

1. CZYM JEST SERIALIZACJA SERIALIZACJA O CZYM POWIEMY? 1. Czym jest serializacja? 2. Jak przeprowadzić proces serializacji? 3. Jak przeprowadzić proces deserializacji? 4. Serializacja własnych klas. 5. Dobre praktyki. 6. SoapFormatter.

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

Wykład 1

Wykład 1 Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego

Bardziej szczegółowo

Hard-Margin Support Vector Machines

Hard-Margin Support Vector Machines Hard-Margin Support Vector Machines aaacaxicbzdlssnafiyn9vbjlepk3ay2gicupasvu4iblxuaw2hjmuwn7ddjjmxm1bkcg1/fjqsvt76fo9/gazqfvn8y+pjpozw5vx8zkpvtfxmlhcwl5zxyqrm2vrg5zw3vxmsoezi4ogkr6phieky5crvvjhriqvdom9l2xxftevuwcekj3lktmhghgniauiyutvrwxtvme34a77kbvg73gtygpjsrfati1+xc8c84bvraowbf+uwnipyehcvmkjrdx46vlykhkgykm3ujjdhcyzqkxy0chur6ax5cbg+1m4bbjptjcubuz4kuhvjoql93hkin5hxtav5x6yyqopnsyuneey5ni4keqrxbar5wqaxbik00icyo/iveiyqqvjo1u4fgzj/8f9x67bzmxnurjzmijtlybwfgcdjgfdtajwgcf2dwaj7ac3g1ho1n4814n7wwjgjmf/ys8fenfycuzq==

Bardziej szczegółowo

Arrays -II. Arrays. Outline ECE Cal Poly Pomona Electrical & Computer Engineering. Introduction

Arrays -II. Arrays. Outline ECE Cal Poly Pomona Electrical & Computer Engineering. Introduction ECE 114-9 Arrays -II Dr. Z. Aliyazicioglu Electrical & Computer Engineering Electrical & Computer Engineering 1 Outline Introduction Arrays Declaring and Allocation Arrays Examples Using Arrays Passing

Bardziej szczegółowo

www.irs.gov/form990. If "Yes," complete Schedule A Schedule B, Schedule of Contributors If "Yes," complete Schedule C, Part I If "Yes," complete Schedule C, Part II If "Yes," complete Schedule C, Part

Bardziej szczegółowo

Dzisiejszy wykład. Przestrzenie nazw (namespaces) Funkcje o zmiennej liczbie argumentów

Dzisiejszy wykład. Przestrzenie nazw (namespaces) Funkcje o zmiennej liczbie argumentów Dzisiejszy wykład Przestrzenie nazw (namespaces) Funkcje o zmiennej liczbie argumentów 1 Przestrzenie nazw Globalna przestrzeń nazw jest jedna W programach pisanych przez wiele osób, lub korzystających

Bardziej szczegółowo

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 9: Inference in Structured Prediction

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 9: Inference in Structured Prediction TTIC 31210: Advanced Natural Language Processing Kevin Gimpel Spring 2019 Lecture 9: Inference in Structured Prediction 1 intro (1 lecture) Roadmap deep learning for NLP (5 lectures) structured prediction

Bardziej szczegółowo

Stargard Szczecinski i okolice (Polish Edition)

Stargard Szczecinski i okolice (Polish Edition) Stargard Szczecinski i okolice (Polish Edition) Janusz Leszek Jurkiewicz Click here if your download doesn"t start automatically Stargard Szczecinski i okolice (Polish Edition) Janusz Leszek Jurkiewicz

Bardziej szczegółowo

ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL

ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL Read Online and Download Ebook ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL DOWNLOAD EBOOK : ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA Click link bellow and free register

Bardziej szczegółowo

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie (język C++) Wykład 1. Język C a C++. Definiowanie prostych klas. Typy referencyjne. Domyślne wartości argumentów. PrzeciąŜanie funkcji. Konstruktory, destruktory. Definiowanie

Bardziej szczegółowo

Curiously recurring template pattern

Curiously recurring template pattern class Derived : public Base Adam Mizerski adam@mizerski.pl Warsaw C++ Users Group 13 stycznia 2015 Wstęp The Matasano Crypto Challenges The Matasano Crypto Challenges http://cryptopals.com/ Wstęp

Bardziej szczegółowo

Raport bieżący: 44/2018 Data: g. 21:03 Skrócona nazwa emitenta: SERINUS ENERGY plc

Raport bieżący: 44/2018 Data: g. 21:03 Skrócona nazwa emitenta: SERINUS ENERGY plc Raport bieżący: 44/2018 Data: 2018-05-23 g. 21:03 Skrócona nazwa emitenta: SERINUS ENERGY plc Temat: Zawiadomienie o zmianie udziału w ogólnej liczbie głosów w Serinus Energy plc Podstawa prawna: Inne

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera

Bardziej szczegółowo

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition)

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition) Katowice, plan miasta: Skala 1:20 000 = City map = Stadtplan (Polish Edition) Polskie Przedsiebiorstwo Wydawnictw Kartograficznych im. Eugeniusza Romera Click here if your download doesn"t start automatically

Bardziej szczegółowo

Program szkolenia: Fundamenty testowania

Program szkolenia: Fundamenty testowania Program szkolenia: Fundamenty testowania Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Fundamenty testowania Testowanie-fun Testowanie testerzy, test managerowie 2 dni 50%

Bardziej szczegółowo

Proposal of thesis topic for mgr in. (MSE) programme in Telecommunications and Computer Science

Proposal of thesis topic for mgr in. (MSE) programme in Telecommunications and Computer Science Proposal of thesis topic for mgr in (MSE) programme 1 Topic: Monte Carlo Method used for a prognosis of a selected technological process 2 Supervisor: Dr in Małgorzata Langer 3 Auxiliary supervisor: 4

Bardziej szczegółowo

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip) Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip) Embeded systems Architektura układów PSoC (Cypress) Możliwości bloków cyfrowych i analogowych Narzędzia

Bardziej szczegółowo

Sieciowa komunikacja procesów - XDR i RPC

Sieciowa komunikacja procesów - XDR i RPC *** abc.x Przyklad pliku RPCGEN Obliczanie sumy, roznicy i iloczynu dwoch liczb calkowitych *** ************************************ Wywolanie procedury odleglej dopuszcza tylko jeden argument wywolania

Bardziej szczegółowo

MS Visual Studio 2005 Team Suite - Performance Tool

MS Visual Studio 2005 Team Suite - Performance Tool MS Visual Studio 2005 Team Suite - Performance Tool przygotował: Krzysztof Jurczuk Politechnika Białostocka Wydział Informatyki Katedra Oprogramowania ul. Wiejska 45A 15-351 Białystok Streszczenie: Dokument

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

Bardziej szczegółowo

Refleksja oraz metaklasy w C++ W dążeniu do prostszego oraz efektywniejszego kodu w C++

Refleksja oraz metaklasy w C++ W dążeniu do prostszego oraz efektywniejszego kodu w C++ Refleksja oraz metaklasy w C++ W dążeniu do prostszego oraz efektywniejszego kodu w C++ Motywujący przykład Projekt z wieloma strukturami, które ciągle się zmieniają i dochodzą nowe Wiele struktur musi

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Przemysłowe układy sterowania PID Układy regulacji PID w strukturze sprzętowej Pytania i zadania do zajęć

Bardziej szczegółowo

Standard C++0x (C++1x?) Marcin Świderski

Standard C++0x (C++1x?) Marcin Świderski Standard C++0x (C++1x?) Marcin Świderski sfider@students.mimuw.edu.pl O czym będzie mowa? Wytyczne komitetu standaryzacyjnego Rozszerzenia języka Rozszerzenia języka szablony Rozszerzenia biblioteki standardowej

Bardziej szczegółowo

www.irs.gov/form990. If "Yes," complete Schedule A Schedule B, Schedule of Contributors If "Yes," complete Schedule C, Part I If "Yes," complete Schedule C, Part II If "Yes," complete Schedule C, Part

Bardziej szczegółowo

Optymalizacje c++11. Piotr Padlewski. Warsaw C++ Users Group

Optymalizacje c++11. Piotr Padlewski. Warsaw C++ Users Group Optymalizacje c++11 Piotr Padlewski Warsaw C++ Users Group 24.03.2015 Plan prezentacji std::move() i rvalue referencje Uniwersalne referencje Noexcept Optymalizacje Struktur danych rvalue referencje obiekty

Bardziej szczegółowo

Sargent Opens Sonairte Farmers' Market

Sargent Opens Sonairte Farmers' Market Sargent Opens Sonairte Farmers' Market 31 March, 2008 1V8VIZSV7EVKIRX8(1MRMWXIVSJ7XEXIEXXLI(ITEVXQIRXSJ%KVMGYPXYVI *MWLIVMIWERH*SSHTIVJSVQIHXLISJJMGMEPSTIRMRKSJXLI7SREMVXI*EVQIVW 1EVOIXMR0E]XS[R'S1IEXL

Bardziej szczegółowo

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji Systemy wbudowane Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji Poziomy abstrakcji projektowania systemów HW/SW 12/17/2011 S.Deniziak:Systemy wbudowane 2 1 Model czasu 12/17/2011 S.Deniziak:Systemy

Bardziej szczegółowo

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian 1 / 12 Content list / Spis Treści 1. Hardware and software requirements, preparing device to upgrade Wymagania sprzętowe i programowe, przygotowanie urządzenia do aktualizacji 2. Installing drivers needed

Bardziej szczegółowo

Techniki Programowania

Techniki Programowania Techniki Programowania Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Dr hab. inż. Łukasz Madej, prof. AGH Budynek B5,

Bardziej szczegółowo

Strona główna > Produkty > Systemy regulacji > System regulacji EASYLAB - LABCONTROL > Program konfiguracyjny > Typ EasyConnect.

Strona główna > Produkty > Systemy regulacji > System regulacji EASYLAB - LABCONTROL > Program konfiguracyjny > Typ EasyConnect. Typ EasyConnect FOR THE COMMISSIONING AND DIAGNOSIS OF EASYLAB COMPONENTS, FSE, AND FMS Software for the configuration and diagnosis of controllers Type TCU3, adapter modules TAM, automatic sash device

Bardziej szczegółowo

Tychy, plan miasta: Skala 1: (Polish Edition)

Tychy, plan miasta: Skala 1: (Polish Edition) Tychy, plan miasta: Skala 1:20 000 (Polish Edition) Poland) Przedsiebiorstwo Geodezyjno-Kartograficzne (Katowice Click here if your download doesn"t start automatically Tychy, plan miasta: Skala 1:20 000

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Wstęp

Zaawansowane programowanie w języku C++ Wstęp Zaawansowane programowanie w języku C++ Wstęp Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń -

Bardziej szczegółowo

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX UNIWERSYTETU BIBLIOTEKA IEGO UNIWERSYTETU IEGO Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX 1. Make a new connection Open the System Preferences by going to the Apple menu

Bardziej szczegółowo

Wyjątki. try - except

Wyjątki. try - except Wyjątki Wyjątek jest obiektem Pythona reprezentującym błąd. Innymi słowy, jest on zdarzeniem, które pojawia się podczas wykonania programu przerywając jego normalny przebieg. Wyobraźmy sobie dłuższy fragment

Bardziej szczegółowo

Budowa przełączników modularnych. Piotr Głaska Senior Product Manager Enterprise Networking Solutions

Budowa przełączników modularnych. Piotr Głaska Senior Product Manager Enterprise Networking Solutions Budowa przełączników modularnych Piotr Głaska Senior Product Manager Enterprise Networking Solutions Agenda 1 2 3 Architektura przełączająca Połączenia do matrycy Wentylacja 1 Ogólny model przełącznika

Bardziej szczegółowo

Programowanie obiektowe C++

Programowanie obiektowe C++ Programowanie obiektowe C++ Programowanie zorientowane obiektowo Wykład 6 Witold Dyrka witold.dyrka@pwr.wroc.pl 12/11/2012 Prawa autorskie itp. Wiele slajdów do tego wykładu powstało w oparciu o slajdy

Bardziej szczegółowo

Rozpoznawanie twarzy metodą PCA Michał Bereta 1. Testowanie statystycznej istotności różnic między jakością klasyfikatorów

Rozpoznawanie twarzy metodą PCA Michał Bereta   1. Testowanie statystycznej istotności różnic między jakością klasyfikatorów Rozpoznawanie twarzy metodą PCA Michał Bereta www.michalbereta.pl 1. Testowanie statystycznej istotności różnic między jakością klasyfikatorów Wiemy, że możemy porównywad klasyfikatory np. za pomocą kroswalidacji.

Bardziej szczegółowo

Wstęp. Przetwarzanie równoległe. Krzysztof Banaś Obliczenia równoległe 1

Wstęp. Przetwarzanie równoległe. Krzysztof Banaś Obliczenia równoległe 1 Wstęp. Przetwarzanie równoległe. Krzysztof Banaś Obliczenia równoległe 1 Historia i pojęcia wstępne Obliczenia równoległe: dwa lub więcej procesów (wątków) jednocześnie współpracuje (komunikując się wzajemnie)

Bardziej szczegółowo

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition) Zakopane, plan miasta: Skala ok. 1:15 000 = City map (Polish Edition) Click here if your download doesn"t start automatically Zakopane, plan miasta: Skala ok. 1:15 000 = City map (Polish Edition) Zakopane,

Bardziej szczegółowo

Zarządzanie sieciami komputerowymi - wprowadzenie

Zarządzanie sieciami komputerowymi - wprowadzenie Zarządzanie sieciami komputerowymi - wprowadzenie Model zarządzania SNMP SNMP standardowy protokół zarządzania w sieci Internet stosowany w dużych sieciach IP (alternatywa logowanie i praca zdalna w każdej

Bardziej szczegółowo

PROGRAMOWANIE w C prolog

PROGRAMOWANIE w C prolog PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014

Bardziej szczegółowo

Programowanie obiektowe w VB cz 2

Programowanie obiektowe w VB cz 2 Programowanie obiektowe w VB cz 2 Interfejsy Interfejsy są listą metod, właściwości, zdarzeń i indeksowników. Jeśli jakaś klasa implementuje jakiś interfejs, znaczy to, że użytkownik tej klasy może skorzystać

Bardziej szczegółowo

Instrukcja obsługi User s manual

Instrukcja obsługi User s manual Instrukcja obsługi User s manual Konfigurator Lanberg Lanberg Configurator E-mail: support@lanberg.pl support@lanberg.eu www.lanberg.pl www.lanberg.eu Lanberg 2015-2018 WERSJA VERSION: 2018/11 Instrukcja

Bardziej szczegółowo

Polimorfizm a klasy generyczne w języku Java. Zdzisław Spławski 1

Polimorfizm a klasy generyczne w języku Java. Zdzisław Spławski 1 Polimorfizm a klasy generyczne w języku Java Zdzisław Spławski 1 Klasyfikacja polimorfizmów Polimorfizm ogólnie oznacza wielopostaciowość i umożliwia przypisanie różnych

Bardziej szczegółowo

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

MaPlan Sp. z O.O. Click here if your download doesnt start automatically Mierzeja Wislana, mapa turystyczna 1:50 000: Mikoszewo, Jantar, Stegna, Sztutowo, Katy Rybackie, Przebrno, Krynica Morska, Piaski, Frombork =... = Carte touristique (Polish Edition) MaPlan Sp. z O.O Click

Bardziej szczegółowo

This is CS 50. Harvard College s Introduction to Computer Science I \ DAVID J. MALAN 99 WEEK 2

This is CS 50. Harvard College s Introduction to Computer Science I \ DAVID J. MALAN 99 WEEK 2 This is CS 50. Harvard College s Introduction to Computer Science I COMPUTER \ SCIENCE 50 WEEK 2 DAVID J. MALAN 99 malan@post.harvard.edu 1 Or fher gb qevax lbhe binygvar! Image from http://www.questexperiences.com/quest2/movieadventures/default.asp.

Bardziej szczegółowo

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis Machine Learning for Data Science (CS4786) Lecture11 5 Random Projections & Canonical Correlation Analysis The Tall, THE FAT AND THE UGLY n X d The Tall, THE FAT AND THE UGLY d X > n X d n = n d d The

Bardziej szczegółowo

Programowanie 2. Język C++. Wykład 2.

Programowanie 2. Język C++. Wykład 2. 2.1 Definicja, deklaracja, wywołanie funkcji.... 1 2.2 Funkcje inline... 4 2.3 Przekazanie do argumentu funkcji wartości, adresu zmiennej.... 5 2.4 Wskaźniki do funkcji... 8 2.5 Przeładowanie funkcji...

Bardziej szczegółowo

Wprowadzenie do psql i SQL. Język komend psql. Podstawy instrukcji SELECT

Wprowadzenie do psql i SQL. Język komend psql. Podstawy instrukcji SELECT Wprowadzenie do psql i SQL 1 Bazy Danych Wykład p.t. Wprowadzenie do psql i SQL. Język komend psql. Podstawy instrukcji SELECT Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016 Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa

Bardziej szczegółowo

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania

Bardziej szczegółowo

Linear Classification and Logistic Regression. Pascal Fua IC-CVLab

Linear Classification and Logistic Regression. Pascal Fua IC-CVLab Linear Classification and Logistic Regression Pascal Fua IC-CVLab 1 aaagcxicbdtdbtmwfafwdgxlhk8orha31ibqycvkdgpshdqxtwotng2pxtvqujmok1qlky5xllzrnobbediegwcap4votk2kqkf+/y/tnphdschtadu/giv3vtea99cfma8fpx7ytlxx7ckns4sylo3doom7jguhj1hxchmy/irhrlgh67lxb5x3blis8jjqynmedqujiu5zsqqagrx+yjcfpcrydusshmzeluzsg7tttiew5khhcuzm5rv0gn1unw6zl3gbzlpr3liwncyr6aaqinx4wnc/rpg6ix5szd86agoftuu0g/krjxdarph62enthdey3zn/+mi5zknou2ap+tclvhob9sxhwvhaqketnde7geqjp21zvjsfrcnkfhtejoz23vq97elxjlpbtmxpl6qxtl1sgfv1ptpy/yq9mgacrzkgje0hjj2rq7vtywnishnnkzsqekucnlblrarlh8x8szxolrrxkb8n6o4kmo/e7siisnozcfvsedlol60a/j8nmul/gby8mmssrfr2it8lkyxr9dirxxngzthtbaejv

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 7: Typy uogólnione. Stringi. 4/21/2013 S.Deniziak: Programowanie obiektowe - Java 1 Jak operować na danych różnych typów? Wymagana zgodność typów Rzutowanie w górę Tylko

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 17 1. Typy i zmienne Jak wiemy, komputer

Bardziej szczegółowo

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana Wykład Materiały bazują częściowo na slajdach Marata Dukhana Języki programowania Kompilowane np. C, C++, Pascal Interpretowane np. JavaScript, PHP, Python, VBA Pośrednie np. Java, C# Znane kompilatory

Bardziej szczegółowo

!850016! www.irs.gov/form8879eo. e-file www.irs.gov/form990. If "Yes," complete Schedule A Schedule B, Schedule of Contributors If "Yes," complete Schedule C, Part I If "Yes," complete Schedule C,

Bardziej szczegółowo

EGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++

EGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++ IMIĘ i NAZWISKO: przykładowe odpowiedzi NR: 0 EGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++ 1. Napisz precyzyjnie co to jest ptr jeśli: const * const Foo ptr; ptr to stały wskaźnik do stałego obiektu typu Foo

Bardziej szczegółowo

Projekt i uruchomienie prostego serwera OPC UA w oparciu o oprogramowanie szkieletowe Quasar opracowane w CERN

Projekt i uruchomienie prostego serwera OPC UA w oparciu o oprogramowanie szkieletowe Quasar opracowane w CERN Mateusz Kołodziejczyk (PB, UwB) Projekt i uruchomienie prostego serwera OPC UA w oparciu o oprogramowanie szkieletowe Quasar opracowane w CERN Julian Sacharczuk (UR) Opiekunowie: mgr inż. Jolanta Olszowska

Bardziej szczegółowo

Podstawy informatyki. Prowadzący cz. 2 (C++) wykładu: dr inż. Sylwester Przybył Instytut Fizyki WFT tel. (0-61) ;

Podstawy informatyki. Prowadzący cz. 2 (C++) wykładu: dr inż. Sylwester Przybył Instytut Fizyki WFT tel. (0-61) ; Prowadzący cz. 2 (C++) wykładu: dr inż. Sylwester Przybył Instytut Fizyki WFT tel. (0-61) 665-3246; Podstawy informatyki e-mail : sylwester.przybyl@put.poznan.pl Konsultacje: środa, 11:45 13:15, pok. 537.

Bardziej szczegółowo

Programowanie w środowiskach graficznych. Wykład 3 Język C#

Programowanie w środowiskach graficznych. Wykład 3 Język C# Programowanie w środowiskach graficznych Wykład 3 Język C# 1 Zagadnienia 1. Wprowadzenie 2. Przestrzenie nazw 3. Typy, parametry, konwersje 4. Klasy 5. Instrukcje sterujące 6. Właściwości 7. Interfejsy,

Bardziej szczegółowo

Machine Learning for Data Science (CS4786) Lecture 24. Differential Privacy and Re-useable Holdout

Machine Learning for Data Science (CS4786) Lecture 24. Differential Privacy and Re-useable Holdout Machine Learning for Data Science (CS4786) Lecture 24 Differential Privacy and Re-useable Holdout Defining Privacy Defining Privacy Dataset + Defining Privacy Dataset + Learning Algorithm Distribution

Bardziej szczegółowo

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE

Bardziej szczegółowo

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Robert Respondowski Click here if your download doesn"t start automatically Wojewodztwo Koszalinskie:

Bardziej szczegółowo

kdpw_stream Struktura komunikatu: Status komunikatu z danymi uzupełniającymi na potrzeby ARM (auth.ste ) Data utworzenia: r.

kdpw_stream Struktura komunikatu: Status komunikatu z danymi uzupełniającymi na potrzeby ARM (auth.ste ) Data utworzenia: r. kdpw_stream Struktura komunikatu: Status komunikatu z danymi uzupełniającymi na potrzeby ARM (auth.ste.001.01) Data utworzenia: 12.09.2017 r. : Status komunikatu z danymi uzupełniającymi na potrzeby ARM

Bardziej szczegółowo

Dolny Slask 1: , mapa turystycznosamochodowa: Plan Wroclawia (Polish Edition)

Dolny Slask 1: , mapa turystycznosamochodowa: Plan Wroclawia (Polish Edition) Dolny Slask 1:300 000, mapa turystycznosamochodowa: Plan Wroclawia (Polish Edition) Click here if your download doesn"t start automatically Dolny Slask 1:300 000, mapa turystyczno-samochodowa: Plan Wroclawia

Bardziej szczegółowo

THE RAIL RATES valid from 1st October 2015

THE RAIL RATES valid from 1st October 2015 RAIL TARIFF This Rail Tariff is an integral part of intermodal transport arrangement service provided by PCC Intermodal S.A. and therefore it cannot be used as a standalone offer, only in combination with

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i

Bardziej szczegółowo