Index: trunk/doc-rnd/devlog/20160802.html
===================================================================
--- trunk/doc-rnd/devlog/20160802.html (nonexistent)
+++ trunk/doc-rnd/devlog/20160802.html (revision 2386)
@@ -0,0 +1,25 @@
+
+
+
+
+ Languages and libs
+
+Reflecting to (but not joining) the annual geda-user language/libs debate,
+the standpoint of pcb-rnd (and later cschem) on this:
+
+ - the core part of the code is in C - not in C++, C#, cobol, ada, haskell, etc.
+
- external dependencies are minimized, especially core shouldn't depend on too many external libs and tools (e.g. core shouldn't depend on glib)
+
- core doesn't know anyhting about [turing complete] scripting languages, user scripting is provided by a plugin
+
- the scripting plugin does not attempt restrict the user to My Favorite Language - it rather supports 10+ different langauges, from ruby through awk through python to lua; it even supports an older version of guile; all languages are options.
+
+The above set of rules is crafted so that compiling core funcitonality is easy
+and excess external libs (gtk, glib) are needed only for optional features
+(such as the gtk hid in pcb-rnd). However, it's equally important not to
+restrict users in optional extras that may require more dependencies. This is
+solved by minimizing core and moving functionality behind APIs in a plugin
+system.
+
+This policy is very unlikely to change in the future - if you believe
+the core should be rewritten in your favorite language, please fork the
+project or start a new one.
+