Editorial

You and the ACCU

By Reg. Charney, Editor

 Introduction

Do you program in any language used by the Open Source movement? If so, then this newsletter and the Association of C and C++ Users (ACCU) is for you!

The ACCU is a non-profit international organization devoted to im­prov­ing the skills and pro­fessional­ism of its members, most of who are pro­gram­mers just like you. The ACCU has about 1,000 members world­­wide. Historically, the ACCU’s technical focus has been on C and C++. These lang­uages are also the main languages used by the Open Source movement. Thus, there is a natural synergy between the two. How­ever, with the growing importance of other languages, the ACCU is broaden­ing its focus to include Java, XML, Perl, and Python.

Meetings

The Silicon Valley chapter of the ACCU holds monthly meetings at the Computer Literacy bookstore in San Jose at North 1st Street and Trimble. We meet at 7:00pm every second Tuesday of the month. For directions, see Computer Literacy San Jose bookstore.

We also hold special events. Some of these will be co-sponsored with the Software Development Forum of San Jose. Look for them in our calendar

For more information on the ACCU, visit our web site at www.accu.org.

What you can expect

This newsletter will be short and to the point in all things. There will be two major areas covered: technical issues and issues related to working here in Silicon Valley.

In the technical area, we will carry:

·         Technical articles on programming issues.

·         Factoids related to programming in the various languages.

·         Information and experience on using tools to do the job better.

In the issues related to working here in the Valley, we will report on

·         What’s Hot and What’s Not

·         Job trends

·         Salary and compensation information

·         Rumors and tidbits

·         Calendar of language-related events.

We will try to keep things light and entertaining -- who says nerds can’t have fun.

For now, this newsletter will be published monthly in both printed and online form. However, that may change as demands dictate.

Trends

By Reg. Charney

The Silicon Valley Difference

Silicon Valley is unlike the rest of the U.S.A when it comes to employment. Using a national job search site of 165,000+ technical positions, 25% are for software engineers. Of the software engineers openings, 65% of those are in Silicon Valley. From this, we can infer that Silicon Valley firms use the net by a 2:1 margin – far more than the rest of the country combined to find software engineers. About 70% of openings for C, C++, Java and HTML, Perl, XML, Tcl/Tk, Lisp/Clos are in Silicon Valley. For Cobol, Fortran, Ada and Eiffel, about 60% of the software engineering jobs are outside Silicon Valley.

Language trends

Figure 1 shows the growth in demand for various languages nation­wide over the last six months. As you can see, growth in the interest in XML far outpaces most other languages Mean­while interest in Cobol has waned.

Figure 2 shows the normalized demand growth for the various languages. The normalized demand growth is computed by taking demand trend and multiplying it by the number of openings needing that language as part of a person’s skill set.

From the numbers in Figure 2, demand for C/C++, Java, and HTML is running head to head. From this, you can infer that mastering any of these three languages would be profitable.

What’s Hot and What’s Not

XML

From Figures 1 and 2, it is obvious that XML is going to play a major part in the coming year(s). If you want to play around with it, a recommended book is "XML IE5 Programmer’s Reference" by Alex Homer Wrox Press Inc; ISBN 1-8610-0157-6. While Internet Explorer 5 may not be your favorite browser, it does support much of what is standardized today in XML. It also has limited support for XSL (eXtended Style sheet Language) and full support for Cascading Style Sheets (CSS). Thus, it makes a good environment to play around in and learn more about XML and its cousins.

Rumor Mill / Tidbits

According to a survey conducted by RONIN Corporation for IBM, "U.S. corporations lose half their customers in five years, half their employees in 4½ years and [all] their investors in less than one year." For us geeks, that means that the half-life of a customer is five years, of an employee is 4½, and of an investor less than a year. And we thought employment turnover was high in the Valley. BTW, the average term of employment in the Valley for software engineers is about 14 months.

For those of you addicted to rumors, we will print them shamelessly, if you supply them and whatever information we need to worm our way out of the consequences. For example, that Tom fathered Cynthia’s Siamese twins doesn’t cut it, but that Dick is starting a new company to do X does qualify, if X is Open Source or software related.

Late News

Those wonderful folks at the DVD Copy Control Association, Inc (DVD CCA) are suing 79 people and 500 other John Does worldwide for (a) reverse engineering the DVD encryption code, or (b) having the code on their web site, or (c) linking to sites having the code. They don’t cite any law being broken, but claim severe monetary damage.

Preliminary court date was Wednesday, December 29, 1999 in Santa Clara Superior Court. I read the com­plaint and its covering letter (see www.frozenlinux.com/local/decss/letter.html ). It is badly written, has no valid legal precedence (in fact the opposite exists), shows a basic lack of understanding of terminology, and presuppose their business model should work, evidence to the contrary. They demanded that a TRO (Temporary Restraining Order) be issued against all the de­fend­ants. Can you see that being enforced worldwide? By now, I expect the source code will be available on tens of thousands of sites, or salted away for a time of need -- see the complaint for a list of sites where the source is available. The Electronic Freedom Foundation (www.eff.org) provided the legal assistance to fight this case.

Late Wednesday afternoon, the judge denied the TRO.  We go to court again on January 14, 2000.

Tech-Talk

By Reg. Charney

Template Arguments - Convert or Not

The book, The Standard C++ Library by Nicolai M. Josuttis, Addison Wesley, ISBN 0-201-37926-0, is a gold mine of C++ design and coding techniques. Amongst others, there is a paragraph on template functions. Like me, you have probably declared a function like this:

template<class T1,class T2>
void f(T a1, T a2)
{cout<<a1<<" “<<a2<<endl;}
// . . .
f(1,2.0); // error

f<int>(1.3, 2.7); // OK

In this example, the first invocation of f() is in error because when the compiler detects the implicit argument type based on argument one, type T is an int and when based on argument two, type T is double. However, type T can only be one or the other, not both.

Using the explicit template argument type in the second example, all the arguments are forced to be int, and thus, the compiler needs to convert the arguments to the specified type. So, both double arguments are converted to int.

Therefore, if you want to allow conversions on template functions, explicitly specify the type(s) of the template argument(s).