পৃষ্ঠাসমূহ
Labels
Search Your Article
CS
Welcome to GoogleDG – your one-stop destination for free learning resources, guides, and digital tools.
At GoogleDG, we believe that knowledge should be accessible to everyone. Our mission is to provide readers with valuable ebooks, tutorials, and tech-related content that makes learning easier, faster, and more enjoyable.
What We Offer:
-
📘 Free & Helpful Ebooks – covering education, technology, self-development, and more.
-
💻 Step-by-Step Tutorials – practical guides on digital tools, apps, and software.
-
🌐 Tech Updates & Tips – simplified information to keep you informed in the fast-changing digital world.
-
🎯 Learning Support – resources designed to support students, professionals, and lifelong learners.
✔ Latest world News
Our Vision
To create a digital knowledge hub where anyone, from beginners to advanced learners, can find trustworthy resources and grow their skills.
Why Choose Us?
✔ Simple explanations of complex topics
✔ 100% free access to resources
✔ Regularly updated content
✔ A community that values knowledge sharing
We are continuously working to expand our content library and provide readers with the most useful and relevant digital learning materials.
📩 If you’d like to connect, share feedback, or suggest topics, feel free to reach us through the Contact page.
Pageviews
Saturday, February 4, 2017
Objective-C Classes & Objects
Objective-C Inheritance
Objective-C Polymorphism
Objective-C polymorphism means that a call to a member function will cause a different function to be executed depending on the type of object that invokes the function.
Objective-C Data Encapsulation
- Program statements (code): This is the part of a program that performs actions and they are called methods.
- Program data: The data is the information of the program which is affected by the program functions.
Objective-C Categories
Objective-C Posing
Objective-C Extensions
The methods declared by a class extension are implemented in the implementation block for the original class, so you can't,
Objective-C Protocols
A simple example would be a network URL handling class, it will have a protocol with methods like processCompleted delegate method that intimates the calling class once the network URL fetching operation is over.
Objective-C Dynamic Binding
In Objective-C, all methods are resolved dynamically at runtime. The exact code executed is determined by both the method name (the selector) and the receiving object.
Objective-C Composite Objects
So you might be wondering what's a class cluster. So we will first see what's a class cluster.
Obj-C Foundation Framework
The Foundation framework defines a base layer of Objective-C classes. In addition to providing a set of useful primitive object classes, it introduces several paradigms that define functionality not covered by the Objective-C language. The Foundation framework is designed with these goals in mind:
Objective-C Fast Enumeration
Obj-C Memory Management
Objective-C Quick Guide
Objective-C Overview
Objective-C is general-purpose language that is developed on top of C Programming language by adding features of Small Talk programming language making it an object-oriented language. It is primarily used in developing iOS and Mac OS X operating systems as well as its applications.Objective-C - Useful Resources
Discuss Objective-C
Node.js - Introduction
What is Node.js?
Node.js is a server-side platform built on Google Chrome's JavaScript Engine (V8 Engine). Node.js was developed by Ryan Dahl in 2009 and its latest version is v0.10.36. The definition of Node.js as supplied by its official documentation is as follows −Node.js - Environment Setup
Try it Option Online
You really do not need to set up your own environment to start learning Node.js. Reason is very simple, we already have set up Node.js environment online, so that you can execute all the available examples online at the same time when you are doing your theory work.
Node.js - First Application
Node.js - REPL Terminal
Node.js - NPM
- Online repositories for node.js packages/modules which are searchable on search.nodejs.org
- Command line utility to install Node.js packages, do version management and dependency management of Node.js packages.
Node.js - Callbacks Concept
What is Callback?
Callback is an asynchronous equivalent for a function. A callback function is called at the completion of a given task. Node makes heavy use of callbacks. All the APIs of Node are written in such a way that they support callbacks.Node.js - Event Loop
Node.js - Event Emitter
Node.js - Buffers
Node.js - Streams
What are Streams?
Streams are objects that let you read data from a source or write data to a destination in continuous fashion. In Node.js, there are four types of streams −Node.js - File System
var fs = require("fs")Node.js - Global Objects
Node.js - Utility Modules
Node.js - Web Module
What is a Web Server?
A Web Server is a software application which handles HTTP requests sent by the HTTP client, like web browsers, and returns web pages in response to the clients. Web servers usually deliver html documents along with images, style sheets, and scripts.Node.js - Express Framework
Express Overview
Express is a minimal and flexible Node.js web application framework that provides a robust set of features to develop web and mobile applications. It facilitates the rapid development of Node based Web applications. Following are some of the core features of Express framework −Node.js - RESTful API
What is REST architecture?
REST stands for REpresentational State Transfer. REST is web standards based architecture and uses HTTP Protocol. It revolves around resource where every component is a resource and a resource is accessed by a common interface using HTTP standard methods. REST was first introduced by Roy Fielding in 2000.Node.js - Scaling Application
Child processes always have three streams child.stdin, child.stdout, and child.stderr which may be shared with the stdio streams of the parent process.
Node.js - Packaging
Consider you have a large project consisting of many files. JXcore can pack them all into a single file to simplify the distribution. This chapter provides a quick overview of the whole process starting from installing JXcore.
Node.js - Quick Guide
Node.js - Introduction
What is Node.js?
Node.js is a server-side platform built on Google Chrome's JavaScript Engine (V8 Engine). Node.js was developed by Ryan Dahl in 2009 and its latest version is v0.10.36. The definition of Node.js as supplied by its official documentation is as follows −Node.js - Useful Resources
Discuss Node.js
MATLAB - Overview
MATLAB - Environment Setup
Try it Option Online
You really do not need to set up your own environment to start learning MATLAB Octave. Reason is very simple, we already have set up MATLAB Octave environment online, so that you can execute all the available examples online at the same time when you are doing your theory work.
MATLAB - Basic Syntax
MATLAB is an interpreted environment. In other words, you give a command and MATLAB executes it right away.
MATLAB - Variables
You can assign variables in a simple way. For example,
x = 3 % defining x and initializing it with a valueMATLAB will execute the above statement and return the following result −
x = 3
MATLAB - Commands
In this section, we will provide lists of commonly used general MATLAB commands.
MATLAB - M-Files
In previous chapters, you have learned how to enter commands from the MATLAB command prompt.
MATLAB - Data Types
MATLAB - Operators
MATLAB - Decision Making
MATLAB - Matrix
In MATLAB, you create a matrix by entering elements in each row as comma or space delimited numbers and using semicolons to mark the end of each row.
For example, let us create a 4-by-5 matrix a −
MATLAB - Loop Types
MATLAB - Vectors
- Row vectors
- Column vectors
MATLAB - Arrays
We have already discussed vectors and matrices. In this chapter, we will discuss multidimensional arrays. However, before that, let us discuss some special types of arrays.
MATLAB - Colon Notation
If you want to create a row vector, containing integers from 1 to 10, you write −
MATLAB - Numbers
MATLAB - Strings
MATLAB - Functions
MATLAB - Data Import
MATLAB - Data Output
You can create the following type of files:
MATLAB - Plotting
- Define x, by specifying the range of values for the variable x, for which the function is to be plotted
- Define the function, y = f(x)
- Call the plot command, as plot(x, y)
MATLAB - Graphics
- Drawing bar charts
- Drawing contours
- Three dimensional plots
MATLAB - Algebra
MATLAB - Calculus
MATLAB - Differential
For example, let us compute the derivative of the function f(t) = 3t2 + 2t-2
MATLAB - Integration
- In the first type, derivative of a function is given and we want
to find the function. Therefore, we basically reverse the process of
differentiation. This reverse process is known as anti-differentiation,
or finding the primitive function, or finding an indefinite integral.
MATLAB - Polynomials
p = [1 7 0 -5 9];
MATLAB - Transforms
MATLAB - GNU Octave Tutorial
Octave has the following common features with MATLAB −
MATLAB - Simulink
MATLAB - Quick Guide
MATLAB - Overview
MATLAB (matrix laboratory) is a fourth-generation high-level programming language and interactive environment for numerical computation, visualization and programming.MATLAB is developed by MathWorks.
MATLAB - USeful Resources
Discuss MATLAB
Friday, February 3, 2017
LISP - Overview
LISP - Environment Setup
Try it Option Online
You really do not need to set up your own environment to start learning LISP programming language. Reason is very simple, we already have set up Lisp Programming environment online, so that you can execute all the available examples online at the same time when you are doing your theory work.
LISP - Program Structure
Any s-expression is a valid program.
LISP - Basic Syntax
Basic Building Blocks in LISP
LISP programs are made up of three basic building blocks:- atom
- list
- string
LISP - Data Types
LISP data types can be categorized as.
- Scalar types - for example, number types, characters, symbols etc.
- Data structures - for example, lists, vectors, bit-vectors, and strings.
LISP - Macros
Technically, a macro is a function that takes an s-expression as arguments and returns a LISP form, which is then evaluated.
LISP - Variables
LISP - Constants
LISP - Operators
The operations allowed on data could be categorized as:
LISP - Decision Making
LISP - Loops
LISP - Functions
You can divide up your code into separate functions. How you divide up your code among different functions is up to you, but logically the division usually is so each function performs a specific task.
LISP - Predicates
The following table shows some of the most commonly used predicates:
LISP - Numbers
The number types supported by LISP are:
LISP - Characters
You can denote a character object preceding #\ before the character itself. For example, #\a means the character a.
LISP - Arrays
All arrays consist of contiguous memory locations. The lowest address corresponds to the first element and the highest address to the last element.
LISP - Strings
String literals are enclosed in double quotes. Any character supported by the character set can be enclosed within double quotes to make a string, except the double quote character (") and the escape character (\). However, you can include these by escaping them with a backslash (\).
LISP - Sequences
In this section, we will discuss most commonly used functions on sequences.
LISP - Lists
Lists are single linked lists. In LISP, lists are constructed as a chain of a simple record structure named cons linked together.
LISP - Symbols
What makes symbols special is that they have a component called the property list, or plist.
LISP - Vectors
LISP - Set
You can add, remove, and search for items in a list, based on various criteria. You can also perform various set operations like: union, intersection, and set difference.
LISP - Tree
To implement tree structures, you will have to design functionalities that would traverse through the cons cells, in specific order, for example, pre-order, in-order, and post-order for binary trees.
LISP - Hash Table
LISP - Input & Output
LISP - File I/O
LISP - Structures
Structures are used to represent a record. Suppose you want to keep track of your books in a library. You might want to track the following attributes about each book:
LISP - Packages
LISP - Error Handling
In fact, conditions are more general than exceptions in traditional programming languages, because a condition represents any occurrence, error, or not, which might affect various levels of function call stack.
LISP - CLOS
LISP - Quick Guide
LISP - Overview
John McCarthy invented LISP in 1958, shortly after the development of FORTRAN. It was first implement by Steve Russell on an IBM 704 computer.It is particularly suitable for Artificial Intelligence programs, as it processes symbolic information effectively.
LISP - Useful Resources
Discuss LISP
Small & Simple Programs in C
Loop Examples in C
Patterns Examples in C
Array Example Programs in C
String Programs in C
Mathematical Programs in C
Linked List Programs in C
Linked List is a sequence of links which contains items. Each link contains a connection to another link. Linked list the second most used data structure after array.
Learn C By Examples - Quick Guide
Small & Simple Programs in C
Let's first start with very small & small programs to get basic idea of C programming code structure. We shall get the basic idea of variable declaration, scanning and printing etc.Learn C By Examples - Useful Resources
Discuss Learn C By Examples
JCL - Overview
When to use JCL
JCL is used in a mainframe environment to act as a communication between a program (Example: COBOL, Assembler or PL/I) and the operating system. In a mainframe environment, programs can be executed in batch and online mode.JCL - Environment Setup
Installing JCL on Windows/Linux
There are many Free Mainframe Emulators available for Windows which can be used to write and learn sample JCLs.One such emulator is Hercules, which can be easily installed in Windows by following few simple steps given below:
JCL - JOB Statement
JCL - EXEC Statement
JCL - DD Statement
JCL - Base Library
JCL - Procedures
JCL - Conditional Processing
JCL - Defining Datasets
Input-Output Methods
Running COBOL Programs using JCL
Compiling COBOL Programs
In order to execute a COBOL program in batch mode using JCL, the program needs to be compiled and a load module is created with all the sub-programs. The JCL uses the load module and not the actual program at the time of execution.JCL - Utility Programs
IBM Dataset Utilities
Utility programs are pre-written programs, widely used in mainframes by system programmers and application developers to achieve day-to-day requirements, organising and maintaining data. A few of them are listed below with their functionality:JCL - Basic Sort Tricks
JCL Questions and Answers
JCL - Quick Guide
JCL - Overview
When to use JCL
JCL is used in a mainframe environment to act as a communication between a program (Example: COBOL, Assembler or PL/I) and the operating system. In a mainframe environment, programs can be executed in batch and online mode.JCL - Useful Resources
Discuss JCL
Java BeanUtils - Overview
Description
The Java BeanUtils are the components of the Apache Commons which are derived from JavaAPI and provides component architecture for the Java language. The Java BeanUtils design patterns uses utility classes that helps to get and set the property values on Java classes for retrieving and defining the bean properties.Java BeanUtils - Background
Description
The standard JavaBeans of Java language can be used to access the property values of beans using the proper getter methods. The Java language supplies the java.beans.Introspector class to inspect a Java class at runtime.Java BeanUtils - Basic Property Access
Description
You can access the basic properties by using the following ways:- Simple Property
- Indexed Property
- Mapped Property
Java BeanUtils - Nested Property Access
Description
You can access the value of nested property of the bean by concatenating the property names of the access path by using "." separators.You can get and set the values of Nested property by using the below methods:
Java BeanUtils - Customizing Introspection
Description
The introspection tool can be used to learn about the properties and operations provided by your class. BeanUtils package is depending on JavaBeans specification that determines the available properties for a particular bean class.Java BeanUtils - Suppressing Properties
Description
You can suppress the specific properties by using the bean introspection mechanism. The specialized BeanIntrospector interface is implemented by the type called SuppressPropertiesBeanIntrospector which suppresses the special class properties of Java beans.Java BeanUtils - Background (DynaBeans)
Description
You can give dynamic property access on the existing JavaBean classes without altering with the help of PropertyUtils class. The dynamically calculated property values as JavaBean can also represented by using dynamic property access without writing a Java class to render these properties.Java BeanUtils - Basic DynaBeans
Description
The implementation of BasicDynaBean and BasicDynaClass specifies the capacity of dynamic property to provide the set of properties dynamically. You can start with DynaClass to establish the set of properties. A newInstance() method will create a new DynaBean instances to DynaClass and occupy its initial values as shown in the below example.Java BeanUtils - ResultSetDynaClass
Description
The ResultSet can be wrapped in the DynaBeans by using the ResultSetDynaClass which renders the results of SQL query as series of DynaBeans. The most commonly used collection is java.sql.ResultSet which is returned when JDBC driver uses SQL SELECT statement.Java BeanUtils - RowSetDynaClass
Description
The RowSetDynaClass copies the undisclosed data in the DynaBeans memory while creating an instance which displays the result and using this class, you can close the ResultSet data before proceeding the actual data that was returned.Java BeanUtils - WrapDynaBean
Description
As we have seen in the previous chapters, DynaBeans APIs provides get() and set() methods to access simple, indexed and mapped properties of DynaBeans dynamically.Java BeanUtils - Lazy DynaBeans
Description
Lazy DynaBeans is an implementation of DynaBean, which gives the characteristics of Lazy List and Lazy Map this connects the properties of DynaClass. There are four types of Lazy DynaBeans:Java BeanUtils - Background (Data Type Conversions)
Description
Data type conversion is a process of changing value from one data type to another. In the previous chapters, dynamically accessed properties of data types are recognized and to achieve the type conversions, we can use Java casts. The BeanUtils package gives various types of APIs and design patterns for performing the data type conversions.Java BeanUtils - BeanUtils and ConvertUtils
Description
The BeanUtils is defined as a utility method for populating JavaBeans properties and ConvertUtils method converts string scalar values to objects, string arrays to arrays of the specified class.Java BeanUtils - Create Custom Converters
Description
BeanUtils package allows creating your own string object to convert for any java class and the registered converters can be used by all the BeanUtils methods.The following are the steps to create and register your own converter:
Java BeanUtils - Locale Aware Conversions
Description
The regular classes available in org.apache.commons.beanutils are not assigned for any specific event. These classes provide a clear interface to make use of situations very easily where the locale is not main thing. You can use Locale-aware extensions of beanutils classes which helps localization, from the org.apache.commons.beanutils.locale package.Java BeanUtils - Utility Objects & Classes
Description
The utility classes such as BeanUtils, ConvertUtils and PropertyUtils can be accessed through utility objects and shares the same caches and registered converters. You can instantiate corresponding class with same functionality for each static utility class.Java BeanUtils - Comparing Beans
Description
In Apache Commons Beanutils, you can compare the JavaBean objects by using the BeanComparator class based on a specified shared property value. This can be done by using the org.apache.commons.beanutils.BeanComparator comparator.Java BeanUtils - Operating On Collections
Description
The Commons-Collections are build upon interfaces, implementations and utilities. It contains Closure interface in the code that can be applied on the arbitrary input object and code permits to apply Closures to contents of collection.Java BeanUtils - Querying Or Filtering Collections
Description
The collections of beans can be filtered in the commons-collections by using the interface Predicate and also provides either true or false value on the evaluation of an input object. There is a Predicate called BeanPropertyValueEqualsPredicate which will assess the set property value against the given value.Java BeanUtils - Transforming Collections
Description
The conversion from input object to output object is supported in commons-collections with the help of Transformer interface. The Transformers can be applied to get the output collection from input collection with the help of codes available in Commons-collections.Java 8 - Overview
Java 8 - Environment Setup
Try it Option Online
We have set up the Java Programming environment online, so that you can compile and execute all the available examples online. It gives you confidence in what you are reading and enables you to verify the programs with different options.
Java 8 - Lambda Expressions
Java 8 - Method References
:: (double colon) symbol. A method reference can be used to point the following types of methods −Java 8 - Functional Interfaces
Java 8 - Default Methods
Java 8 - Streams
SELECT max(salary), employee_id, employee_name FROM Employee
Java 8 - Optional Class
Class Declaration
Following is the declaration for java.util.Optional<T> class −public final class Optional<T> extends Object
Class Method
| S. No. | Method & Description |
|---|---|
| 1 | static <T> Optional<T> empty() Returns an empty Optional instance. |
| 2 | boolean equals(Object obj) Indicates whether some other object is "equal to" this Optional. |
| 3 | Optional<T> filter(Predicate<? super <T> predicate) If a value is present and the value matches a given predicate, it returns an Optional describing the value, otherwise returns an empty Optional. |
| 4 | <U> Optional<U> flatMap(Function<? super T,Optional<U>> mapper) If a value is present, it applies the provided Optional-bearing mapping function to it, returns that result, otherwise returns an empty Optional. |
| 5 | T get() If a value is present in this Optional, returns the value, otherwise throws NoSuchElementException. |
| 6 | int hashCode() Returns the hash code value of the present value, if any, or 0 (zero) if no value is present. |
| 7 | void ifPresent(Consumer<? super T> consumer) If a value is present, it invokes the specified consumer with the value, otherwise does nothing. |
| 8 | boolean isPresent() Returns true if there is a value present, otherwise false. |
| 9 | <U>Optional<U> map(Function<? super T,? extends U> mapper) If a value is present, applies the provided mapping function to it, and if the result is non-null, returns an Optional describing the result. |
| 10 | static <T> Optional<T> of(T value) Returns an Optional with the specified present non-null value. |
| 11 | static <T> Optional<T> ofNullable(T value) Returns an Optional describing the specified value, if non-null, otherwise returns an empty Optional. |
| 12 | T orElse(T other) Returns the value if present, otherwise returns other. |
| 13 | T orElseGet(Supplier<? extends T> other) Returns the value if present, otherwise invokes other and returns the result of that invocation. |
| 14 | <X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier) Returns the contained value, if present, otherwise throws an exception to be created by the provided supplier. |
| 15 | String toString() Returns a non-empty string representation of this Optional suitable for debugging. |
Optional Example
To understand how Optional is used in practice, let us see the following example. Write the following program, execute and verify result to get more insight of it.Java8Tester.java
import java.util.Optional; public class Java8Tester { public static void main(String args[]){ Java8Tester java8Tester = new Java8Tester(); Integer value1 = null; Integer value2 = new Integer(10); //Optional.ofNullable - allows passed parameter to be null. Optional<Integer> a = Optional.ofNullable(value1); //Optional.of - throws NullPointerException if passed parameter is null Optional<Integer> b = Optional.of(value2); System.out.println(java8Tester.sum(a,b)); } public Integer sum(Optional<Integer> a, Optional<Integer> b){ //Optional.isPresent - checks the value is present or not System.out.println("First parameter is present: " + a.isPresent()); System.out.println("Second parameter is present: " + b.isPresent()); //Optional.orElse - returns the value if present otherwise returns //the default value passed. Integer value1 = a.orElse(new Integer(0)); //Optional.get - gets the value, value should be present Integer value2 = b.get(); return value1 + value2; } }
Verify the Result
Compile the class using javac compiler as follows −$javac Java8Tester.javaNow run the Java8Tester as follows −
$java Java8TesterIt should produce the following output −
First parameter is present: false Second parameter is present: true 10
Java 8 - Nashorn JavaScript
Java 8 - New Date/Time API
- Not thread safe − java.util.Date is not thread safe, thus developers have to deal with concurrency issue while using date. The new date-time API is immutable and does not have setter methods.
Java 8 - Base64
Java 8 Questions and Answers
Java 8 - Quick Guide
Java 8 - Overview
JAVA 8 is a major feature release of JAVA programming language development. Its initial version was released on 18 March 2014. With the Java 8 release, Java provided supports for functional programming, new JavaScript engine, new APIs for date time manipulation, new streaming API, etc.Java 8 - Useful Resources
Discuss Java 8
Thursday, February 2, 2017
Groovy - Overview
Groovy - Environment
Binary download and installation − Go to the link www.groovy-lang.org/download.html to get the Windows Installer section. Click on this option to start the download of the Groovy installer.
Groovy - Basic Syntax
Creating Your First Hello World Program
Creating your first hello world program is as simple as just entering the following code line −class Example { static void main(String[] args) { // Using a simple println statement to print output to the console println('Hello World');
Groovy - Data Types
Groovy - Variables
Groovy - Operators
Groovy has the following types of operators −
- Arithmetic operators
- Relational operators
- Logical operators
- Bitwise operators
- Assignment operators
Groovy - Loops
Groovy - Decision Making
Groovy - Methods
Groovy - File I/O
- Reading files
- Writing to files
- Traversing file trees
- Reading and writing data objects to files
Groovy - Optionals
Groovy - Numbers
Groovy supports integer and floating point numbers.
Groovy - Strings
Groovy offers a variety of ways to denote a String literal. Strings in Groovy can be enclosed in single quotes (’), double quotes (“), or triple quotes (“””). Further, a Groovy String enclosed by triple quotes may span multiple lines.
Groovy - Ranges
Groovy - Lists
Groovy - Maps
Following are some examples of maps −
Groovy - Dates & Times
Groovy - Regular Expressions
Groovy - Exception Handling
Exception normally disrupts the normal flow of the application, which is the reason why we need to use Exception handling in our application.
Exceptions are broadly classified into the following categories −
Groovy - Object Oriented
Groovy - Generics
Groovy - Traits
- Composition of behaviors.
- Runtime implementation of interfaces.
- Compatibility with static type checking/compilation
Groovy - Closures
Following is an example of a simple closure and what it looks like.
Groovy - Annotations
Annotations are mainly used for the following reasons −
Groovy - XML
Groovy - JMX
Groovy - JSON
JSON Functions
| Function | Libraries |
|---|---|
| JsonSlurper | JsonSlurper is a class that parses JSON text or reader content into Groovy data Structures such as maps, lists and primitive types like Integer, Double, Boolean and String. |
| JsonOutput | This method is responsible for serialising Groovy objects into JSON strings. |
Groovy - DSLS
Groovy - Database
- HSQLDB
- Oracle
- SQL Server
- MySQL
- MongoDB
Groovy - Builders
Groovy - Command Line
Following are the command line options available in Groovy −
Groovy - Unit Testing
Groovy - Template Engines
Groovy - Meta Object Programming
So what does this mean? Let’s consider a class called Student, which is kind of an empty class with no member variables or methods.
Groovy - Quick Guide
Groovy - Overview
Groovy is an object oriented language which is based on Java platform. Groovy 1.0 was released in January 2, 2007 with Groovy 2.4 as the current major release. Groovy is distributed via the Apache License v 2.0.Groovy - Useful Resources
Discuss Groovy
Go - Overview
Go - Environment Setup
Try it Option Online
You really do not need to set up your own environment to start learning Go programming language. Reason is very simple, we already have set up Go Programming environment online, so that you can compile and execute all the available examples online at the same time when you are doing your theory work.
Go - Program Structure
Go - Basic Syntax
Go - Data Types
Go - Variables
Go - Constants
Constants can be of any of the basic data types like an integer constant, a floating constant, a character constant, or a string literal. There are also enumeration constants as well.
The constants are treated just like regular variables except that their values cannot be modified after their definition.
Go - Operators
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Bitwise Operators
- Assignment Operators
- Misc Operators
Go - Decision Making
Go - Loops
Go - Functions
Go - Scope Rules
Go - Arrays
Go - Pointers
Go - Structures
Go - Slices
Go - Range
Go - Maps
Go - Recursion
Go - Type Casting
Go - Interfaces
Go - Error Handling
type error interface { Error() string }
Go Questions and Answers
Go - Quick Guide
Go - Overview
Go is a general-purpose language designed with systems programming in mind.It was initially developed at Google in year 2007 by Robert Griesemer, Rob Pike, and Ken Thompson. It is strongly and statically typed, provides inbuilt support for garbage collection and supports concurrent programming. Programs are constructed using packages, for efficient management of dependencies. Go programming implementations use a traditional compile and link model to generate executable binaries.Go - Useful Resources
Discuss Go
Wednesday, February 1, 2017
F# - Overview
Functional programming treats computer programs as mathematical functions.
F# - Environment Setup
Integrated Development Environment(IDE) for F#
Microsoft provides Visual Studio 2013 for F# programming.The free Visual Studio 2013 Community Edition is available from Microsoft’s official website. Visual Studio 2013 Community and above comes with the Visual F# Tools.
F# - Program Structure
In F#, functions work like data types. You can declare and use a function in the same way like any other variable.
In general, an F# application does not have any specific entry point. The compiler executes all top-level statements in the file from top to bottom.
F# - Basic Syntax
F# - Data Types
- Integral types
- Floating point types
- Text types
- Other types
F# - Variables
F# - Operators
- Arithmetic Operators
- Comparison Operators
- Boolean Operators
- Bitwise Operators
F# - Decision Making
F# - Loops
A loop statement allows us to execute a statement or group of statements multiple times and following is the general form of a loop statement in most of the programming languages −
F# - Functions
Since functions can be used like any other variables, you can −
F# - Strings
String Literals
String literals are delimited by the quotation mark (") character.Some special characters are there for special uses like newline, tab, etc. They are encoded using backslash (\) character. The backslash character and the related character make the escape sequence. The following table shows the escape sequence supported by F#.
F# - Options
F# - Tuples
For example, (“Zara Ali”, “Hyderabad”, 10) is a 3-tuple with two string values and an int value, it has the type (string * string * int).
F# - Records
type website =
{ title : string;
url : string }
Defining Record
F# - Lists
The F# module, Microsoft.FSharp.Collections.List, has the common operations on lists. However F# imports this module automatically and makes it accessible to every F# application.
F# - Sequences
F# - Sets
F# - Maps
Creating Maps
Maps are created by creating an empty map using Map.empty and adding items using the Add function. The following example demonstrates this −F# - Discriminated Unions
F# - Mutable Data
The following example demonstrates this.
F# - Arrays
Creating Arrays
You can create arrays using various syntaxes and ways or by using the functions from the Array module. In this section, we will discuss creating arrays without using the module functions.There are three syntactical ways of creating arrays without functions −
F# - Mutable Lists
It is a mutable counterpart of the List class. It is similar to arrays, as it can be accessed by an index, however, unlike arrays, lists can be resized. Therefore you need not specify a size during declaration.
F# - Mutable Dictionary
Recapitulating from the Map chapter in F#, a map is a special kind of set that associates the values with key.
F# - Basic I/O
- Reading from and writing into console.
- Reading from and writing into file.
Core.Printf Module
We have used the printf and the printfn functions for writing into the console. In this section, we will look into the details of the Printf module of F#.F# - Generics
F# - Delegates
F# - Enumerations
In F#, enumerations, also known as enums, are integral types where labels are assigned to a subset of the values. You can use them in place of literals to make code more readable and maintainable.
F# - Pattern Matching
In other terms, it provides a more flexible and powerful way of testing data against a series of conditions and performing some computations based on the condition met.
Conceptually, it is like a series of if… then statements.
F# - Exception Handling
Exceptions provide a way to transfer control from one part of a program to another. F# exception handling provides the following constructs −