Difference between revisions of "Relevant Developer Tutorials"

From Mudlet
Jump to navigation Jump to search
(Fix sourcetrail link)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<languages/>
 
<languages/>
<translate>
 
</translate>
 
 
{{TOC right}}
 
{{TOC right}}
 
<translate>
 
<translate>
  
 
<!--T:2-->
 
<!--T:2-->
Mudlet uses modern C++14 for the core functionality of the application.
+
Mudlet uses modern C++17 for the core functionality of the application.
  
  
Line 13: Line 11:
 
<!--T:4-->
 
<!--T:4-->
 
* [https://www3.ntu.edu.sg/home/ehchua/programming/index.html#Cpp C++] - covers everything C++ basics to advanced.
 
* [https://www3.ntu.edu.sg/home/ehchua/programming/index.html#Cpp C++] - covers everything C++ basics to advanced.
 
+
* [https://discord.gg/ZPErMGW C++ Discord] - great community for help with C++.
 +
* [https://discord.gg/2HKMUAr8vx Qt Discord] - also a great community, this time for coding in Qt.
  
 
== For experienced programmers == <!--T:5-->
 
== For experienced programmers == <!--T:5-->
Line 20: Line 19:
 
* [https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp4_PointerReference.html#zz-1. Pointers] - the core basics of C++. While you can by without needing to know the details, you'll find it really, really useful if you do.
 
* [https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp4_PointerReference.html#zz-1. Pointers] - the core basics of C++. While you can by without needing to know the details, you'll find it really, really useful if you do.
 
* [https://mbevin.wordpress.com/2012/11/13/auto/ C++11] - know how to make your life easier with modern C++11.
 
* [https://mbevin.wordpress.com/2012/11/13/auto/ C++11] - know how to make your life easier with modern C++11.
 
+
* [https://stuartwheaton.com/blog/2020-06-14-c++11-guide C++11 Guide] - fantastic guide on everything C++.
 +
* [https://tonsky.me/blog/emoji emoji breakdown] - everything to know about emojis, is useful to know when working with Mudlet's internal text editing classes.
 +
* [https://learnxinyminutes.com/ Learn X in Y minutes] - helpful brief summary/examples for lots of code languages' syntax and concepts, including [https://learnxinyminutes.com/docs/c++/ C++] and [https://learnxinyminutes.com/docs/lua/ Lua]
  
 
== Helpful tools == <!--T:7-->
 
== Helpful tools == <!--T:7-->
  
 
<!--T:8-->
 
<!--T:8-->
* [https://www.sourcetrail.com/ Source Trail] - get quick overview of an unfamiliar codebase (like Mudlet, if you're just joining here)
+
* [https://github.com/CoatiSoftware/Sourcetrail/releases/tag/2021.4.19 Source Trail] - get quick overview of an unfamiliar codebase (like Mudlet, if you're just joining here)
 
* [https://www.draw.io/ draw.io] - Draw and share diagrams online
 
* [https://www.draw.io/ draw.io] - Draw and share diagrams online
 
* http://www.rexex101.com/ - test and explain your regular expressions online
 
* http://www.rexex101.com/ - test and explain your regular expressions online
Line 35: Line 36:
 
<!--T:10-->
 
<!--T:10-->
 
* https://www.take-a-screenshot.org/ - for all OS, so users can show their problems with ease
 
* https://www.take-a-screenshot.org/ - for all OS, so users can show their problems with ease
* https://color-hex.org/ - Catalogue of colours in different styles, shades, gradients, etc. Very useful for UI design, etc.
+
* https://color-hex.org/ - Catalogue of colors in different styles, shades, gradients, etc. Very useful for UI design, etc.
  
  
Line 49: Line 50:
 
* https://www.reddit.com/r/cpp/comments/7kurp6/recommended_c_tools_for_linux_profiler_static/ - useful C++ tools that can run on Linux.
 
* https://www.reddit.com/r/cpp/comments/7kurp6/recommended_c_tools_for_linux_profiler_static/ - useful C++ tools that can run on Linux.
 
* https://www.divio.com/blog/documentation - Create 4 kinds of documentation, each serves a different purpose
 
* https://www.divio.com/blog/documentation - Create 4 kinds of documentation, each serves a different purpose
 +
 +
 +
== Support communities ==
 +
 +
* C++
 +
** tbd
 +
* Qt
 +
** [https://forum.qt.io Qt Developers official forum]
 +
** [https://www.qtcentre.org/ Qt Centre]
 +
* Lua
 +
** tbd
  
  

Latest revision as of 11:01, 24 December 2022

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎français • ‎italiano • ‎polski • ‎suomi • ‎Ελληνικά • ‎русский • ‎العربية • ‎한국어

Mudlet uses modern C++17 for the core functionality of the application.


For programming newbies

  • C++ - covers everything C++ basics to advanced.
  • C++ Discord - great community for help with C++.
  • Qt Discord - also a great community, this time for coding in Qt.

For experienced programmers

  • Pointers - the core basics of C++. While you can by without needing to know the details, you'll find it really, really useful if you do.
  • C++11 - know how to make your life easier with modern C++11.
  • C++11 Guide - fantastic guide on everything C++.
  • emoji breakdown - everything to know about emojis, is useful to know when working with Mudlet's internal text editing classes.
  • Learn X in Y minutes - helpful brief summary/examples for lots of code languages' syntax and concepts, including C++ and Lua

Helpful tools


Support tools


Good reading


Support communities


Random tips and tricks

Determine what auto resolves to with:

 template <typename T> struct watzattype;
 void TriggerUnit::doCleanup()
 {
     for(auto & trigger : mCleanupList)
     {
         watzattype<decltype(trigger)>{};

Compiler will error and tell you the type, TTrigger*& in this example.