[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