Narzędzia programistyczne - Wstęp
Semestr zimowy 2013/2014
Narzędzia programistyczne
Tworzenie aplikacji (edytory, kompilatory, interpretatory)
Wykrywanie błędów: statyczna/dynamiczna analiza kodu/programu
„Odpluskwianie” kodu (Debugging)
Analiza wydajności aplikacji (profilowanie kodu)
Analiza pamięci - wykrywanie „wycieków”
Zarządzanie projektami, np.: systemy kontroli wersji, raportowanie błędów
Tworzenie dokumentacji
Źródła: Programming Tool
Zintegrowane środowiska programistyczne (IDE)
MS Visual Studio Express/Professional/Ultimate (C/C++, C#)
-
C++Builder i Delphi - raczej nie
Visual Web Developer Express (ASP.NET) - ??
-
Wikipedia: Comparison of integrated development environments

Team Foundation Server
Trac
Mylyn - Application Lifecycle Tools
Bugzilla, CodePLex, SourceForge, Team Foundation Service, inne
Odpluskwianie (Debuggers)
Debuggowanie w środowiskach IDE (m.in. edit and continue(MS), IntelliTrace/Hotswap Bug Fixing (Java), Multi-Threaded Debugging),
GDB (GNU Debugger) - Linux, Cygwin (MinGW)
Valgrind -
GPL (Linux, Mac
OS) dynamiczna analiza aplikacji (memory error detector, debuuger, profiler)
Valgrind, KCacheGrind (KDE, Linux)
Visual Leak Detector (Visual C++)
Eclipse Memory Analyzer (Java)
inne: IBM Rational Purify, Insure++, TotalView, Dmalloc, memwatch, YAMD, mpatrol
Profilowanie
Visual Studio Profiler (raczej tylko Stand-Alone profiler)
GNU gprof, Valgrind
NetBeans Profiler, Eclipse Profiler Plugin,
-
inne : nprof, CLR Profiler, RotateRight Zoom, pin, JProfiler (commercial), TAU Performance System, slimtune (.Net), CMT++ (Complexity Measures Tool), AQtime (.Net, Java, commercial), dotTrace Performance/Memory,
Projektowanie aplikacji okienkowych (GUI builder)
Visual Studio (Forms, WPF), Microsoft Expression Blend
Eclipse (wtyczki)
NetBeans (Java, SWING, project Matisse; C++ wsparcie dla Qt)
biblioteka Qt (Qt Creator, Qt Designer), Glade (GTK), Tk (framework)
Wikipedia: GUI Builder Rapid Application Development
Tworzenie aplikacji GNU Linux
gcc
make
gettext
Autotools (Autoconf, Automake, Libtool)
inne : ltrace, objdump, strace, nm, ld
Wikipedia: GNU Build Tools
Systemy kontroli wersji
Żródła: Comparison of revision control software Version Control System Comparison
Tworzenie dokumentacji
Narzędzia wspierające tworzenie dokumentacji:
Wikipedia: Documentation generator Comparison of documentation generators
Testowanie kodu i aplikacji
Unit testing using Visual Studio (VS Professional ), NUnit, XUnit
Eclipse TPTP (Test and Performance Tools Platform), NetBeans wbudowane
inne : JUnit, CPPUnit Emma coverage tool (Java)
Makro Assert (C,PHP)
Narzędzia do automatyzacji testów
UML
diagramy klas, użycia, …
inżynieria wstecz/wprzód
VS2010 Ultimate, umbrello (wymaga KDE), dia (wymaga GTK), ArgoUML, MS Visio
Wikipedia: List_of_Unified_Modeling_Language_tools
Aplikacje Mobilne
-
Windows Phone, Windows 8: Visual Studio
iOS: Xcode, AppCode
wieloplatformowe: RhoMobile, PhoneGap, Appcelerator, MoSync, …
-
Cloud
Cloud IDEs: Eclipse Orion, Cloud9, Codeanywhere, Cloud IDE, Sourcekit, Kodingen
Cloud computing: Windows Azure, Google App Engine (Eclipse plugin), Apache CloudStack, IBM SmartCloud, Amazon Web Services
Inne
Dekomilatory i deasemblatory (!?)
-
Automatic programming and code generation : VS, Eclipse, RISE
Narzędzia wspierające zarządzanie projektami i zespołami programistycznymi (Trac, MS TFS)
CASE tools: ClassBuilder (c++)
Inne c.d.