[GSoC Proposal draft] High-Level Networking

Max Klyga max.klyga at gmail.com
Tue Mar 29 18:04:44 PDT 2011


Google Summer of Code 2011 Proposal Draft

Abstract

The D programming language standard library (Phobos) lacks modules for 
high-level
networking using application layer protocols. This project aims to 
provide design
and implementation of networking modules for the D programming language.

Project details

Networking abilities are essential for modern programming languages.
Currently Phobos contains modules for low-level networking 
(std.socket), but lacks
modules that provide implementation of application level protocols 
(FTP, HTTP, SMPT, etc.)
The goal of this proposal is to design and implement high-level interface for
interaction through application level protocols.

I plan to implement TELNET-client, TELNET-server, HTTP-client and FTP-client
interfaces. This modules will enable D users to easily build 
applications interacting
with web services, applications controlled via TELNET, etc.

I will familiarize myself with existing networking libraries in other 
programming
languages to gather information about commonly used techniques and 
interfaces that
got widely adopted. This information will help me with initial design.
To ensure ease of use, I will discuss design of modules with D 
community, seeking
for idiomatic D interfaces.

I will be using libcurl as a foundation for implementing this modules. 
This library
is portable, supports a wide range of protocols[1]. Using libcurl will 
provide a quick
start.

Benefits for D

- Greatly simplify creation of network-enabled applications.

About me

I'm Max Klyga. I am an undergraduate software engineering student at 
Belarusian State
University of Informatics and Radioelectronics (Minsk, Belarus).
I'm mainly interested in system programming and after using C++ for 
some time I found
D and fell in love with it. I also have great interest in data-mining 
and programming
language design. I have good C++, C# and Python skills and experience 
using Qt-framework.
I've been successfully using D in my class projects and enjoyed that 
experience a lot.
Lately I've been developing ODBC wrapper for D in my spare time[2].

References

    1. http://en.wikipedia.org/wiki/CURL#libcurl
    2. https://bitbucket.org/nekuromento/d-odbc



More information about the Digitalmars-d mailing list