OopSchool

| Forum | ForumNorway.com/old/ | Links | Ordered |
MultiFinanceIT | DigitalStart.net | W3Toolbar | CyberToolbar | BrowseToolbar | Expert-Links.net | SurfToolbar | RedCarpetRank | Web2Logistics | Ad-University | AdSchoolWorld |
CIM | DIRO Simula | Simula Start | ASU | Engin Simula |
Cetus-links | gbeta | Mjølner 5.0 | OOP in BETA | PDF Book | BETA Intro | An Overview | Abstract | Mjølner System | FAQ | MetaBETA |
Language Tutorial | BloodShed | C++ | C++ Reference | Free Compilers | Bjarne Strostrup | C++ in 2005 | C++ Home | Xerces C++ Parser | C++ France |
C# corner | C# station | C# help | C# OverView | C# Programming | C# Friends | Master C# | C# Source | C# Computing | C# | C# Home |
SDN | Java-Source | JavaWorld | Java.com | JavaFile | CoreServlets | On the Java Road | blogs.sun | JSP Insider | Java Boutique |
Builder | Arch | Sec | Zend | DOC | Security | FrameWorks | ionCube | XDEBUG | WACT | L-D | L-D Mod | ErrorH | Patterns | Planet | kitchen | Editors | Res |
What is OOP Perl | OOP | CosmicPerl | Training | Books | BetaAPP | Bookshelf | Perl.org | CPAN | IT | Start | Monks | WebRef |
Ruby Talk | Ruby On Rails | RailsContributors | Ruby Central | Ruby | DesignPatternsInRuby |
GlenMcCl | D-MARS | DwvX | Dev Art | JS obj | eRain | SourceForge | DevShed | VCLComp | SourceCode | DDrive | Jawfish | BYTES | opensCMS | NAG | c-Point | J Smiley |
Hawkee | Archive | XAV | BigW PHP | PrototypeJS | jQuery Mobile | jQuery | ThreeJS | NodeJS | AngularJS | proxy2 | Javascripting | JS Kit |
Strostrup's Links | Cetus-links | OOPWeb | Google Dir | Objenv | PHP | SUMit | Object FAQ | Wiki OOP | Yahoo answ |
LinuxQ | WMW | WMT | phpBB | Fedora | Zend | AJAX | Rails | Proxy2 | PHP Builder | SP | DevShed | DigitalP | PHP-UG | Mobi | India |

Don't repeat yourself.

Kjell Gunnar Bleivik Januar 13 2016.

Status: will be updated with additional information.

That is what objectoriented programming (OOP) is about.

Code reuse is fundamental in OOP. There are some C++ examples of OOP on our old forum worth studying. DRY, don't repeat yourself is automatically implemented in a good OOP design. OOP started with Simula in Norway in the 1960's since the formal programming concept of objects was introduced in Simula 67.  According to the first Wikipedia article some claimed that it started earlier, at M.I.T. in the late 1950s. That is not the main topic of this short article and has been extensively discussed elsewhere. Some Norwegians get religious when LISP is mentioned, others when Simula is mentioned. Objects, polymorphism and (multiple) inheritance, was that formalized before it was done in Simula? I have my glasses and you who read this short article yours, so I stop with this discussion.

I have been on a 4 hour seminar with one of the language's inventors, Kristen Nygaard.

Kristen Nygaard (August 27, 1926 – August 10, 2002) is internationally acknowledged as the co-inventor with Ole-Johan Dahl of object-oriented programming and the programming language Simula. He also was a pioneer of participatory design and the “Scandinavian school of systems development”.

All the major aspects of the object-oriented programming paradigm. including class, subclass, inheritance, dynamic object creation, etc., originated with Simula. This paradigm has led to fundamental changes in how information systems are designed, resulting in reusable, reliable, scalable systems. Today, object-oriented programming languages are widely used in programming diverse software systems ranging from large-scale distributed systems to small, personal applications.

Kristen is also the co-creator of other important modelling and computer programming languages, including Delta (with Petter Håndlykken and Erik Holbæk-Hansen), and Beta (with Bent Bruun Kristensen, Ole Lehrmann Madsen and Birger Møller-Pedersen).

That was an interesting experience, and I have seen how Norwegian programmers get religious when they talk about programming languages. Some of them hate server scripting languages like php and client (browser) scripting languages like JavaScript. If you go for the perfect, you will often end up with something imperfect. Sometimes good enough is best. Design patterns that is in a sense generalized objects take OOP to a new level. If you are interested in religion, you can read about it in the book Learn design patterns with BETA that Kristen Nygaard coauthored.

HTML, php and php include

You may hate php. I don't care as long as php functions and helps me in writing content on the internet. Php is extremely flexible, and it can be used in (mixed with) HTML tagging. As an example, all the text I produce on this site in 2016 is included in its own text file with an php extension. I can use php much more advanced than that, and it helps me reuse included code.

Drupal 8 is OO

Drupal 8 has recently been launched and it is responsive and object oriented. Drupal multi site installation is straightforward. Multiple sites can share the same code and design. If you want different designs for the various sites that share the code, that is possible. This is effective reuse of code and design. Some companies offer click installation of CMS systems like drupal and WordPress and bulletin boards like phpBB. If you know how to install and use drush (drupal shell) and PuTTY, you handle the monster code (more than 13 000 files) of drupal 8 on the web like you handle the same file system on your workstation or on a Surface Pro tablet. If your hoster offer a good file manager in the cPanel of your site, you can upload this code in less than a minute to your web server. You upload the zip file, unpack it and move the files to the correct folder if it is not already there. The same zip file can of course be unpacked to more than one domain, but that is not effective code use. It is more efficient (minimalistic) to reuse the (core) code on a multi site installation. Your sites get more vulnerable to hacking, so it is of utmost importance that you have good backup systems and a secure cPanel service for your domains.

One single password and login for a site network

I want to create a network of blog sites and forums where users will use the same username and password across all sites and forums. I am hoping I can acheive this with Wordpress MultiSite, phpBB3 and a phpbb3 bridge, for single signon authentication.

Source: Wordpress MultiSite with phpbb3 Sub Forums

Your needs may be more advanced. You may want to have one single login for your CMS sites like drupal, WordPress and your bulletin boards like phpBB and even your native coded sites. How shall you code that in OOP? Idiotic question will the religious say. How shall you generally code that? If you use php as your server scripting language, it should not be difficult if every (multi site installed) site has its own code and database, to write the code (class or pattern). It should not be difficult to write a network login code (or class) for the specific login method you want. For a more secure registration and login, you can use FaceBook, LinkedIn and other social media login plugins that can be combined with your own login method (class) that is most often more vulnerable for hacks and spammers. Very few people will risk being banned by their social media service provider. I have not tried to write this code myself, since I have not needed it.

Minimalism in 2016. Installing drupal 8 an example.

Drupal 8 is huge. In a sense it is a monster. Drupal 8.0 contains more than 13 000 files that I installed using Dreamweaver's Ftp that is reasonably fast. That took hours and since I am on a shared host, I got problems. If you search on the internet or on the drupal site you may note that there may be problems installing drupal 8 on a shared server. My hoster A2hosting has a great filemanager. This filemanager is as good and fast as the filemanager on my workstation, a dell with 32 Gb ram and Windows 10. I deleted the old version that did not function. Then I uploaded the drupal 8.02 zip file and unpacked it on the web server. The whole process took less than a minute. But I still got problems installing drupal 8, so I had to use A2Hosting's click and install package Softaculous Apps installer for drupal that is available in my cPanel. I chose the last version, 8.02, filled out the required form, and clicked install. Wow, it took less than a minute, with the following message:

Congratulations, the software was installed successfully

Drupal has been successfully installed at :

And I also got an email that started like: Hello,

Drupal 8.0.2 has been installed to your A2 Hosting account by the Softaculous auto-installer.

To customize and configure your Drupal installation you can log into the Drupal control panel. Your admin login information is below:

Cron Job : wget -O - -q -t 1

You will be notified by email at *** about new versions of Drupal when they are available. Updating your installation to the latest version is a good security measure as vulnerabilities may be corrected in newer versions.

If you wish to make any changes to this installation, install more applications or uninstall any applications, you can use Softaculous in the Software/Services section of the cPanel control panel. Access information can be found in your Welcome Email.

The detailed information below will not be used in most cases but is included here because it may be needed for advanced configuration or support.

Note what I have bolded above, Cron Job : wget -O - -q -t 1. That is excellent since I can specify how I want to set up the cron job or choose the default. Setting up the cron job manually takes time. In the Softaculous Software/Services section of the cPanel control panel, I have the options to delete, edit or back up the installation. Drupal 8 can create the database itself, so I even did not create an empty database. The Softaculous Apps installer created the database for me.

Related links.

What happened to php 6? Php 7, the latest version of php!

Putting professional PHP 6 code on the web::: An example.

C++ Builder 2009 Professional::: Getting started PDF download.

C++ Builder 2010 Professional::: Getting started PDF download.

Related links

Privacy Policy | Company | Contact Us | Organization number 987 091 398 | © 2004 - 2016 MultiFinansIT | All rights Reserved |