Giter Club home page Giter Club logo

sourcecreator_smart_templates's Introduction

Sample Smart Templates for SOURCECREATOR

What this is:
This is a set of sample "Smart Templates" that are used by the web version of sourceCREATOR.
These were created using Hardwario BigClown's "Climate Monitor" sample code to demonstrate how one can break down a complete program into Smart Templates and use them with the web version of sourceCREATOR.

How to use it:
You can create your own GitHub repositories of sourceCREATOR Smart Templates and test them as follows:
Create a URL similar to the URL below:
http://bigclown.sourcecreator.io/?cmpbase=ramin-zaghi&cmpproject=sourcecreator_smart_templates&cmpbranch=bigclown

The URL parameters are as follows:

  • cmpbase=<your github base URL> (e.g. ramin-zaghi)
  • cmpproject=<your github project> (e.g. sourcecreator_smart_templates)
  • cmpbranch=<the branch in your project> (e.g. bigclown)

More information:
Please see http://sourceCREATOR.io for more information

What are Smart Templates and why use them?

Traditionally, if you write [hardware/software] source code for "someone else" to read/modify/use then in addition to writing the functional code you must think how to communicate your ideas (and the way all the different parts of your code work) either in the form of documentation, comments, videos, samples of how to use it or face to face whiteboard sessions.

This is what we call the "Know-How".

With this information, the "someone else" then needs to "apply" this knowledge to do what they want, whether it is learning something from your source code, using it as a part of their larger code or maintaining/extending/modifying the source code for owners/stakeholders.

This is what we call "Applying the Know-How".

A "Smart Template", is a means for embedding the "Know-How" within the same source code that you are writing for 'someone else'.

The "SOURCECREATOR™ Visual Editor" is a tool that helps this "someone else" to "Apply the Know-How" without necessarily having the "Know-How" !

Because you took the time to encode the "Know-How" into your "Smart Templates" rather than just writing a piece of code in the traditional way, "someone else" is now able to use the "SOURCECREATOR Visual Editor" to get what they want out of your code without having spent time on gaining the "Know-How". This means a lot of saved hours, high quality code and a smooth fun and interactive learning path.

This approach was inspired by Stanford University professor Donald Knuth's "Literate Programming" which he proposed in 1984. In "Literate Programming" the documentation forms part of the source code in such a way that a simple tool can take the source and generate both a human-readable PDF e-book and the final source code that would make up an App.

"Smart Templates", initially proposed in Feb 2015 [†], take the concept of "Literate Programming" one step further and allow you to mix applied "Know-How" instructions (as opposed to documentation) within your source code. Their aim is not to produce a human-readable PDF e-book from the same source code (although you could do that too if you wanted), but rather to allow tools such as a "Visual Editor" to take these instructions and help readers/users (someone other than the original author) to really apply and use the "Know-How" without having to read code or books.



[†] The original article from Feb 2015 can be found by going to: http://www.TaggedProgramming.com or by accessing this file directly from this address: http://mosaic3dx.com/tagged-programming/Tagged-Programming-Paradigm-Feb2015-v0.6_nohighlight_fewercolors_taggedprogramming.com.pdf

sourcecreator_smart_templates's People

Contributors

ramin-zaghi avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.